0

考虑我有两个数据库表:imagesalbums. 他们有这些模式:

images:
id, orig_name, hash, filename, uploaded, views, album_id, user_id, server_id

albums:
id, hash, name, description, user_id

表中的album_id字段images指向表中的id字段albums。非常简单的一对多的东西。一张图片可以属于一个相册,一个相册可以有很多张图片。我感到困惑的是如何从我的 CakePHPImage模型中的指定相册中获取图像。目前这是我的模型:

class Image extends AppModel {
    public $name = 'Image';
    public $belongsTo = array('Server', 'Album');

    public function getImages($options) {
        $params = array('conditions' => array());

        // Specific user
        if (!empty($options['userID'])) {
            array_push($params['conditions'], array('Image.user_id' => $options['userID']));
        }

        // Specific album
        if (!empty($options['albumHash'])) {
            array_push($params['conditions'], array('Image.album_id' => $options['albumHash']));
        }

        // Order of images
        $params['order'] = 'Image.uploaded DESC';
        if (!empty($options['order'])) {
            $params['order'] = $options['order'];
        }

        return $this->find('all', $params);
    }
}

我想要它做的是根据专辑哈希(hash表中的字段)从特定专辑中返回图像。如果我有专辑 ID,我知道如何完成这项工作,但我不知道,我只有哈希。

我已经有一个专辑模型,就是这样:

class Album extends AppModel {
    public $name = 'Album';
}

但我什至不确定这是否相关。:p

谢谢。

4

1 回答 1

0

试试这个:

if (!empty($options['albumHash'])) {
    array_push($params['conditions'], array('Album.hash' => $options['albumHash']));
}
于 2012-07-12T15:42:49.467 回答