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



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

我的关系(画廊被命名为相册)是:

 //Album-Model
public $hasMany = array(
    'Picture' => array(
        'className' => 'Picture',
        'foreignKey' => 'album_id',
        'dependent' => true,
        'conditions' => ''
    )
);

和:

    public $belongsTo = array(
    'User' => array(
        'className' => 'User',
        'foreignKey' => 'user_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'Album' => array(
        'className' => 'Album',
        'foreignKey' => 'album_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);

编辑 :这应该有效,我自己测试了它!

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

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

这样,它还将发送图片数据。然后在模型关联中,您可以指定仅返回带有相册的第一个图像(如果这是您想要的)!

只需在相册模型中的hasMany => Comments数组中添加'limit' => '1',即可。

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

foreach($Albums as $Album){
     $Album['Album']; // ALBUMS info do whatever
     $Album['Picture']; // The thumbnail
}

编辑2:我刚刚看到你也可以做

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

相关内容

  • 没有找到相关文章

最新更新