モデルのアソシエーションについて。
以下のような3つのテーブルがあるとき
1.所有物一覧情報テーブル(
id
user_id
item_id
quantity(数量)
)
2.アイテムテーブル(
id
item_name
item_size
maker_id
)
3.メーカーテーブル(
id
maker_name
)
user_idから所有物一覧情報を探しにいってmaker_nameまで取得できるようにアソシエーションを設定したいのですが可能でしょうか。
belongsToを親子関係にする方法はわかるのですが、孫要素まで設定する方法がわかりません。
Modelのrecursiveの指定では駄目なのでしょうか?
User, Item, Makerのモデルがあり、
User hasAndBelongsTo Item
Item hasAndBelongsTo User
Item belongsTo Maker
Maker hasMany Item
というアソシエーションを与えておけば、
コントローラ内で、
$this->User->findAll(array('id' => ユーザID), null, null, null, null, 2);
とすれば、メーカー名まで取得できます。
recursiveというものを知りませんでした。
うまくいきそうなので試してみます
ありがとうございました
【追記】
わからない点がいろいろ出てきたのでコメント欄に書きました