チラシの裏

2011 年 9 月 8 日

DoctrineでJOINしたい場合

カテゴリー: PHP, Symfony — root @ 6:25 PM

DoctrineでJOINしたい場合、普通にJOINメソッドを使うだけだとエラーになります。(ハァハァ

エラーが出ないようにするためにはテーブルのリレーションの設定をしないとダメっぽいです。
たとえばユーザが所持しているアイテムのIDが記録されているUserItemテーブルと
アイテムのマスターテーブルであるItemをJOINする場合は、

UserItemのクラスでこのように↓

public function setUp()
{
	parent::setUp();
	$this->hasOne('Item', array(
		'local' => 'item_id',
		'foreign' => 'id'
	));
}

としてやればエラーがでなくなります。

他のテーブルもJOINしたい場合は
$this->hasOneを追加していけば大丈夫っぽいです。

ちなみに、このやりかたが正しいかどうかは分かりません(キリッ

Powered by WordPress