2017-03-07 54 views
1

如果已經有回答我的問題,那麼對不起,請指點正確的方向,因爲我找不到任何東西。Nelmio/Alice 2.x Symfony 3,在不同套裝中加載相關的燈具

假設我有兩個Bundles。每個軟件包都有fixures.yml文件和加載程序文件。 裝載機和固定裝置在彼此不相互依賴時工作正常。

但是,當我從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]); 

沒有運氣。

艾維時間我試圖在故事夾具中使用用戶對象愛麗絲試圖再次將它保存到數據庫。

最好的問候, 羅伯特

回答

1

我做了一些研究和交談的人 - 它看起來就像是一個可能的錯誤。你可以在這裏瞭解更多:

Nelmio/Alice 2.x Duplicated Row

此外,我想各地分享我的工作:

我想保持的東西分離和清潔。您可以將其移動到App/DataFixtures/ORM目錄,而不是將所有燈具保存在一個文件夾中。然而Symfony不會在這個目錄中查找燈具。您可以:在控制檯命令

  • 路徑添加到燈具:

    doctrine:fixtures:load --fixtures=/var/www/story/app/DataFixtures/ORM 
    
  • 爲上述方案創建別名

  • 覆蓋DoctrineFixturesBundle - how to do this

我希望這將如果你有類似的問題,請幫忙。