关系对象的关系-Cakephp 2.0

关系对象的关系-Cakephp 2.0,cakephp,models,database-replication,Cakephp,Models,Database Replication,我有三个模型:用户图像组 用户属于一个图像; 组属于某个用户管理员 组具有并属于用户; 用户拥有并属于组; 用户和组模型与用户\组表连接; 当我查看一个组时,其中列出了成员用户,这起作用了我需要提取他们的图像我该怎么做?您应该使用。它将允许您控制您提取的数据 首先,将其添加到AppModel中。我还总是设置$recursive=-1,这样就不会提取额外的数据。使用依赖$recursive数据的现有应用程序时要小心 然后,在find调用期间,使用“contain”查询键。例如,在GroupsCon

我有三个模型:用户图像组

用户属于一个图像; 组属于某个用户管理员 组具有并属于用户; 用户拥有并属于组; 用户和组模型与用户\组表连接; 当我查看一个组时,其中列出了成员用户,这起作用了我需要提取他们的图像我该怎么做?

您应该使用。它将允许您控制您提取的数据

首先,将其添加到AppModel中。我还总是设置$recursive=-1,这样就不会提取额外的数据。使用依赖$recursive数据的现有应用程序时要小心

然后,在find调用期间,使用“contain”查询键。例如,在GroupsController上:

public function view($id = null) {
  $results = $this->Group->find('first', array(
    'conditions' => array(
        'Group.id' => $id
    ),
    'contain' => array(
        'User' => array(
            'Image'
        )
    )
  ));
}

这将带来与组关联的用户信息,以及与用户关联的图像信息。

Awesome!这也将通过删除多余的呼叫和加入不一定在视图中使用的数据来加快应用程序的速度。
public function view($id = null) {
  $results = $this->Group->find('first', array(
    'conditions' => array(
        'Group.id' => $id
    ),
    'contain' => array(
        'User' => array(
            'Image'
        )
    )
  ));
}