2つのフィクスチャが互いに依存して読み込まれているときに、フィクスチャロードの順序を制御するにはどうすればよいですか?Doctrine Fixtures:Joinテーブルを使用したgetOrder()
私のスキーマには、Bookエンティティ、Authorエンティティ、BookAuthorエンティティがあります。書籍は多くの作家を持つことができ、著者が本の主著者であるかどうかを示す「主」という追加フィールドがあるため、BookAuthorが必要です。 BookFixturesで
、IはBookAuthorFixturesを参照:BookAuthorFixturesで
$book1->addBookAuthor($manager->merge($this->getReference('book-author-1')));
、IはBookFixturesを参照:
$bookAuthor1->setBook($manager->merge($this->getReference('book-1')));
器具の一つは、それが参照する固定具が未定義であることを意味しており、最初にロードされなければなりませんインデックス。
この問題を解決する秘訣はありますか?
このquestionはほぼ同じ問題に対処していますが、構成が異なり、問題の解決には至っていません。私はあなたがあなたの関係を設定しなかった正確にどのように知りませんが、私は、これはあなたが何をすべきかと思い
応答とコードスニペットを提供していただきありがとうございます。残念ながら、このアプローチはOrderedFixtureInterface機能を利用していません。つまり、あるフィクスチャが別のフィクスチャのインスタンスを作成する必要があります。しかし、これは基本的なタスクを達成するので、私が自分自身を描いたコーナーの道を知っている人がいなければ、答えを受け入れるだろう。 Thx again – cantera
こんにちは!もう1つのアプローチは、書籍の実体が著者を持たないようにすることです(未知の著者によって書かれた書籍がいくつかあるかもしれません)。その後、書籍や著者のための備品を読み込み、その後にBookAuthorの備品を読み込むことができます。さらに、私はBookAuthorエンティティを本と一緒に作成しなければならないと思いますが、誰かがあなたの問題を解決するためのより良いアプローチを持っている可能性があります。よろしく – alghimo