为了账号安全,请及时绑定邮箱和手机立即绑定

更新 Doctrine 后 Symfony 中的“ObjectManager

更新 Doctrine 后 Symfony 中的“ObjectManager

PHP
慕森卡 2022-06-11 18:03:53
在我的 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 :<?phpnamespace 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();    }}
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

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

查看完整回答
反对 回复 2022-06-11
?
HUH函数

TA贡献1836条经验 获得超4个赞

在您的基类Fixture$manager 实例中Doctrine\Common\Persistence\ObjectManager,因此您需要更改EntityManagerInterfaceObjectManager. 您不能在子类中覆盖 typehint。



查看完整回答
反对 回复 2022-06-11
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信