同じModelに複数の関連付け
たとえば、メッセージ機能で1つのテーブルに
from_user_id
と
to_user_id
があって、Userと2つ以上の関連付けを持つ場合の方法。
Model
関連付けの例。
fieldsの指定に注意。
var $belongsTo = array( 'ToUser' => array( 'className' => 'User', 'foreignKey' => 'to_user_id', 'fields' => array( 'ToUser.id', 'ToUser.name', ), ), 'FromUser' => array( 'className' => 'User', 'foreignKey' => 'from_user_id', 'fields' => array( 'FromUser.id', 'FromUser.name', ), ), );
controller
$containの設定例
var $paginate = array( 'conditions' => array( ), 'fields' => '', 'recursive' => 1, 'contain' => array( 'ToUser', 'FromUser', ), 'limit' => 20, 'order' => array( 'Message.modified' => 'desc' ), );