3

Doctrine Migrations と Fixtures の両方をうまく使用しているサイトがあります (素晴らしい機能です!) が、小さな問題があります。

テーブルと新しい外部キー フィールドを既存のエンティティのテーブルに追加しました。移行により、新しいテーブルに初期値が入力されます。

外部キーを使用してテーブルのデータをロードするフィクスチャで、フィールドを移行で作成された値の 1 つに設定する必要がありますが、そのリポジトリからエンティティを取得できないようです。

なぜそれが起こるのか、または私がこれをどのように行うべきかについての提案。

フィクスチャはContainerAwareInterface、エンティティ リポジトリにアクセスできるように実装しますが、次のことを行います。

$repo = $this->container->get('doctrine')
    ->getRepository('myCoreBundle:StoryStatus');
$statuses = $repo->findAll();
print_r($statuses);

この時点でDBに値があることがわかりますが、何も返しません。

4

1 に答える 1

0

理解した。私の側の愚かさのビット。もちろん、フィクスチャをロードするとデータベースがクリアされるため、エンティティが見つかりません:)。それらを再度作成するには、フィクスチャを実装する必要があります。

于 2012-11-13T15:45:10.347 に答える