[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側で設定した見出しをオブジェクトとして指定することで、問題なくデータを流せます。