NELMIO/ALICE 2.x SYMFONY 3,在不同束中加载相关的固定装置



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

假设我有两个束。每个捆绑包都有fix.yml文件和加载程序文件。当装载机和固定装置不依赖于彼此时,它们的工作正常。

但是,当我引用Fixtureb的固定纤维时,我会在数据库中获得重复的记录。

例如:

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时间我试图在故事固定装置中使用用户对象,而爱丽丝试图再次将其保存到DB中。

最好的问候,罗伯特

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

nelmio/alice 2.x重复的行

我也想分享我的工作:

我想让事情保持分离和清洁。而不是将所有固定装置放在一个捆绑中,而可以将其移至应用程序/datafixtures/orm目录。但是,Symfony不会在此目录中寻找固定装置。您可以:

  • 在Console命令中添加固定装置的路径:

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

  • 覆盖DoctrineFixturesBundle-如何做

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

最新更新