更新 Doctrine 后 Symfony 中的“ObjectManager

在我的 Symfony 项目中尝试更新( composer update )后出现错误。


我寻找了一个解决方案,我发现有必要修改实体和构造函数中的使用和类型提示......我已经完成了!


然后,我重新启动了更新,但出现了不同的错误,并且更新没有完全完成。


结果:我的网站已关闭并显示兼容性错误。


看这个:


编译错误:AppFixtures 中 App\DataFixtures\AppFixtures::load(Doctrine\ORM\EntityManagerInterface $manager) 的声明必须与 Doctrine\Common\DataFixtures\FixtureInterface::load(Doctrine\Common\Persistence\ObjectManager $manager) 兼容。 php第8行`


不明白,兼容是什么?


我不知道如何发布我的代码..(控制器,YAML,实体,..)但我尝试了。我的项目在出现错误之前在 GitHub 上,也许它会很有用(如果你需要的话..)


这是我的 AppFixtures.php :


<?php


namespace App\DataFixtures;


use Doctrine\Bundle\FixturesBundle\Fixture;

use Doctrine\ORM\EntityManagerInterface;


class AppFixtures extends Fixture

{

    public function load(EntityManagerInterface $manager)

    {

        // $product = new Product();

        // $manager->persist($product);


        $manager->flush();

    }

}


慕森卡
浏览 112回答 2
2回答

白衣染霜花

我想现在用 symfony 4.3 纠正 lhor kostrov,你需要使用 ObjectManager fromDoctrine\Persistence\ObjectManager&nbsp;而不是 fromDoctrine\Common\Persistence\ObjectManager

HUH函数

在您的基类Fixture$manager 实例中Doctrine\Common\Persistence\ObjectManager,因此您需要更改EntityManagerInterface为ObjectManager.&nbsp;您不能在子类中覆盖 typehint。
打开App,查看更多内容
随时随地看视频慕课网APP