我有三个模型:User Image Group
。
users_groups
表格相关联; 当我查看群组时,会列出成员(用户,这是有效的)我需要提取他们的图像我该怎么办?
答案 0 :(得分:0)
您应该使用ContainableBehavior。它将允许您控制您提取的数据。
首先,将其添加到AppModel。我也总是设置$recursive = -1
所以永远不会提取额外的数据。请谨慎使用依赖$recursive
数据的现有应用。
class AppModel extends Model {
public $recursive = -1;
public $actsAs = array('Containable');
}
然后,在查找调用期间,使用“包含”查询键。例如,在GroupsController上:
public function view($id = null) {
$results = $this->Group->find('first', array(
'conditions' => array(
'Group.id' => $id
),
'contain' => array(
'User' => array(
'Image'
)
)
));
}
这将引入与该组关联的用户信息,以及与用户关联的图像信息。