我设置了hasMany关系。用户拥有多个项目。在配置文件视图中的用户控制器中,我可以看到在SQL转储中为该用户返回的项目。
我想在我的个人资料视图中显示该用户的每个项目。所以我在用户和项目之间建立了关联。用户有很多项目。我已在用户控制器中使用关联的配置文件视图创建了配置文件操作。当我导航到其中一个用户的配置文件视图时,我可以看到它正在查询SQL转储中的项目。
这是具有正确用户标识的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());
}
答案 0 :(得分:1)
在你看来
foreach($user['Project'] as $project)
{
echo $project['title'].'<br />';
}
要查看更大的图片,只需使用pr(),您应该能够看到如何从那里访问其余数据。
pr($user);