やかんブログ

[symfony]propel-load-data

2008年07月25日(金)13:48|木村

こんにちは、木村です。 只今、symfony勉強中です。

勉強中にデータベースにテストデータが欲しい時は、

<symfonyプロジェクトルート>/data/fixtures/XXX.yml

を作成し、symfony propel-load-dataコマンドで登録しています。

テーブルが複数あって、外部参照がある時に少しはまったので、 忘れないように書いておきます。 以下、ymlファイルの例です。

Hometown:
  tokyo: #見出し行
    id: 1
    name: 東京
  kanagawa: #見出し行
    id: 2
    name: 神奈川
User:
  user: #見出し行
    hometown_id: 1  # Hometownのidを参照

hometownとuserというテーブルにデータを流すためのymlです。 今、Userにあるhometown_idはHometownのidを外部参照しています。 上記のymlでpropel-load-dataを実行すると、

‘The object “1″ from class “Hometown” is not defined in your data file.’

と、エラーが出ます。 そこで、Userを以下のように替えます。

User:
  user:
    hometown_id: tokyo  # Hometownの見出し行

上記のように、Hometown側で設定した見出しをオブジェクトとして指定することで、問題なくデータを流せます。

この記事に関するお問い合わせはこちら

ページの先頭へ