當兩個燈具相互依賴加載時,如何控制燈具加載順序?Doctrine Fixtures:getOrder()with Join Tables
我的模式有一個Book實體,一個Author實體和一個BookAuthor實體。書籍可以有許多作者,而BookAuthor是必需的,因爲它有一個名爲'main'的附加字段,指示作者是否是本書的主要作者。
在BookFixtures,我參考BookAuthorFixtures:
$book1->addBookAuthor($manager->merge($this->getReference('book-author-1')));
在BookAuthorFixtures,我參考BookFixtures:
$bookAuthor1->setBook($manager->merge($this->getReference('book-1')));
其中一個夾具必須被首先加載,這意味着它引用的夾具是一個未定義指數。
解決這個問題有什麼竅門嗎?
這個question解決幾乎相同的問題,但配置是不同的,儘管接受的答案,問題仍未解決。
感謝您的回覆並提供了代碼段。不幸的是,這種方法沒有利用OrderedFixtureInterface功能,這意味着一個燈具必須創建另一個燈具的實例。然而,這將完成基本任務,所以如果沒有其他人知道我走出自己的角落,我很可能會接受答案。 Thx再次 – cantera 2012-02-19 01:47:41
嗨!另一種方法可能是讓圖書實體沒有作者(可能有一些書籍由未知作者編寫),那麼你可以先加載書籍和作者的裝置,然後加載BookAuthor裝置。此外,我認爲BookAuthor實體必須與書一起創建,但也許有人有更好的方法來解決您的問題。問候 – alghimo 2012-02-19 08:13:34