1

如果已经回答了我的问题,那么抱歉,请指出正确的方向,因为我找不到任何东西。

假设我有两个捆绑包。每个包都有 fixures.yml 文件和 loader 文件。装载机和固定装置在不相互依赖时工作正常。

但是,当我从fixtureB 引用fixtureA 时,我在数据库中得到了重复的记录。

例如:

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]);

没运气。

每次我尝试在故事装置中使用用户对象时,爱丽丝会再次尝试将其保存到数据库中。

最好的问候,罗伯特

4

1 回答 1

1

我做了一些研究并与人们交谈 - 看起来这可能是一个错误。您可以在这里了解更多信息:

Nelmio/Alice 2.x 重复行

另外我想分享一下我的工作:

我想把东西分开和干净。您可以将其移动到 App/DataFixtures/ORM 目录,而不是将所有灯具保存在一个文件中的一个文件中。然而 Symfony 不会在这个目录中寻找固定装置。你可以:

  • 在控制台命令中添加灯具路径:

    doctrine:fixtures:load --fixtures=/var/www/story/app/DataFixtures/ORM
    
  • 为上述解决方案创建别名

  • 覆盖 DoctrineFixturesBundle -如何做到这一点

如果您有类似的问题,我希望这会有所帮助。

于 2017-03-18T01:06:56.747 回答