hasMany関係を設定しています。ユーザーhasManyプロジェクト。プロファイルビューのユーザーコントローラーで、SQLダンプでそのユーザーに返されるプロジェクトを確認できます。
そのユーザーのプロファイルビューに各プロジェクトを表示したいと思います。そこで、ユーザーとプロジェクトの間に関連付けを設定しました。ユーザーhasManyプロジェクト。関連付けられたプロファイルビューを使用して、ユーザーコントローラーでプロファイルアクションを作成しました。のユーザーの1人のプロファイルビューに移動すると、SQLダンプ内のプロジェクトをクエリしていることがわかります。
これは、正しいユーザーIDを持つSQLダンプです。
SELECT `Project`.`id`, `Project`.`title`, `Project`.`created`, `Project`.`website`, `Project`.`language_id`, `Project`.`user_id`, `Project`.`description`, `Project`.`tags`, `Project`.`creator_id` FROM `projects` AS `Project` WHERE `Project`.`user_id` = (5)
このクエリのデータをどのように使用できますか?
プロジェクトモデル
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'counterCache' => 'num_of_projects'
),
'Language'
);
?>
ユーザーモデル
var $hasMany = array('Project' =>
array('className' => 'Project',
'conditions' => '',
'order' => '',
'limit' => '',
'foreignKey' => 'user_id',
'dependent' => true,
'exclusive' => false,
'finderQuery' => '',
'fields' => '',
'offset' => '',
'counterQuery' => ''
)
);
User_Controllerのプロファイルアクション
function profile($id = null) {
$this->User->id = $id;
$this->set('user', $this->User->read());
}