2017-03-07 5 views
1

すでに私の質問に答えがある場合は、申し訳ありませんが、私は何かを見つけることができないので正しい方向に向いてください。Nelmio/Alice 2.x Symfony 3、異なるバンドルで関連する器具をロードする

2つのバンドルがあるとします。各バンドルにはfixures.ymlファイルとローダーファイルがあります。 ローダーとフィクスチャは、お互いに依存していないときは正常に動作しています。

しかしfixtureAからfixtureAを参照しているときは、データベースに重複したレコードがあります。

例えば:

user_{1..10}: 
email (unique): '<firstName()>+<randomNumber()>@gmail.com' 
plainPassword: 'secret' 

story_{1..10}: 
    user: "@user_<current()>" 
    title: '<word>' 

彼らは分離したファイルである場合 - 重複行。彼らが同じファイルに入っているときは、大丈夫です。

なぜ2回ロードされていますか?

私もこれを試してみました:

$objects = Fixtures::load(__DIR__ . '/fixtures.yml', $manager, ['persist_once'=>true]); 

ありません運。

私は物語のフィクスチャでユーザオブジェクトを使用しようとしています。アリスは再びそれをdbに保存しようとします。

よろしく、 ロバート

答えて

1

私は少し研究を行なったし、人に話を聞いた - それは可能バグだように見えます。あなたはここで多くを学ぶことができます。

Nelmio/Alice 2.x Duplicated Row

また、私は周りに自分の作品を共有したいと思います:

Iを分離し、清潔なものを維持したいです。すべてのフィクスチャを1つのバンドル内の1つのファイルに保存する代わりに、App/DataFixtures/ORMディレクトリに移動することができます。しかし、Symfonyはこのディレクトリ内のフィクスチャを探すことはありません。次のことができます。

  • コンソールコマンドで備品へのパスを追加します。

    doctrine:fixtures:load --fixtures=/var/www/story/app/DataFixtures/ORM 
    
  • はオーバーライドDoctrineFixturesBundle

  • 上記溶液のため

  • をエイリアスを作成 - how to do this

私はこの意志を願っています似たような問題がある場合は助けてください。

関連する問題