如果已经回答了我的问题,那么抱歉,请指出我正确的方向,因为我找不到任何东西。
我们说我有两个捆绑包。每个bundle都有fixures.yml文件和loader文件。 装载机和固定装置在不相互依赖时工作正常。
然而,当我从fixtureB引用fixtureA时,我在数据库中获得了重复记录。
E.g:
user_{1..10}:
email (unique): '<firstName()>+<randomNumber()>@gmail.com'
plainPassword: 'secret'
story_{1..10}:
user: "@user_<current()>"
title: '<word>'
当它们在分开的文件中时 - 重复的行。当它们在同一个文件中时,一切正常。
为什么要加载两次?
我甚至试过这个:
$objects = Fixtures::load(__DIR__ . '/fixtures.yml', $manager, ['persist_once'=>true]);
没有运气。
Evey时间我试图在故事装置中使用用户对象alice试图再次将其保存到db中。
最诚挚的问候, 罗伯特
答案 0 :(得分:1)
我做了一些研究并与人们交谈 - 看起来它可能是一个错误。您可以在这里了解更多信息:
Nelmio/Alice 2.x Duplicated Row
我也想分享我的工作:
我想把事情分开并保持干净。您可以将其移动到App / DataFixtures / ORM目录,而不是将所有灯具保存在一个文件夹中。但是,Symfony不会在此目录中查找fixture。你可以:
在控制台命令中添加固定装置的路径:
doctrine:fixtures:load --fixtures=/var/www/story/app/DataFixtures/ORM
为上述解决方案创建别名
如果你有类似的问题,我希望这会有所帮助。