Cakephp 2.x查找相关模型的第一个条目

Cakephp 2.x查找相关模型的第一个条目,cakephp,gallery,model-associations,Cakephp,Gallery,Model Associations,我知道,如果选择单个条目,我可以通过模型关联轻松找到相关的模型数据。但是当我使用find('all')作为索引页时,我想做的是获取第一个图像作为galery的拇指 我的关系(图库命名为相册)是: 以及: 编辑: 这应该管用,我自己测试过 在查询之前,添加以下通道以指定递归性 $this->Albums->recursive = 1; $this->set('Albums', $this->Album->find('all')); 这样,它还将发送图片数据。然后,在

我知道,如果选择单个条目,我可以通过模型关联轻松找到相关的模型数据。但是当我使用find('all')作为索引页时,我想做的是获取第一个图像作为galery的拇指

我的关系(图库命名为相册)是:

以及:

编辑: 这应该管用,我自己测试过

在查询之前,添加以下通道以指定递归性

$this->Albums->recursive = 1;
$this->set('Albums', $this->Album->find('all'));
这样,它还将发送图片数据。然后,在模型关联中,可以指定仅返回相册中的第一个图像(如果您需要的话)

只需在相册模型中的
hasMany=>注释数组中添加
'limit'=>'1'

然后您可以在视图中进行迭代

foreach($Albums as $Album){
     $Album['Album']; // ALBUMS info do whatever
     $Album['Picture']; // The thumbnail
}
EDIT2:我刚刚看到你也能做到

$this->Album->find('all', array('recursive' => 1));

我知道这一点,但我想为所有画廊找到它,例如使用:$this->Album->find('all');当我使用find('all')时,没有与模型关联的图片。只有在我大量使用>>$this->set('album',$this->album->read(null,$id))时才有!设置限制在这里不是一个选项,但我相信我会找到一个解决方法来减少拉取的数据。我会避免使用递归,并查看行为:)
foreach($Albums as $Album){
     $Album['Album']; // ALBUMS info do whatever
     $Album['Picture']; // The thumbnail
}
$this->Album->find('all', array('recursive' => 1));