cakeEp分页查询与hasAndBelongsToMany

时间:2014-06-04 01:48:48

标签: php mysql sql cakephp

无论如何我对sql并不太好,但是我无法让特定的查询工作。

我有档案和图像作为表格。它们通过archives_images表连接。我有我想要的存档的$ id,我正在尝试对我在archive_id旁边的archives_images表中有记录的图像进行分页。

我正在尝试的代码(这是最正确的代码 - 我已经尝试了一段时间了)

$this->Paginator->settings = array(
        'conditions' => array(
                            'Image.user_id'=>$this->Auth->user('id'),
                            'ArchivesImage.archive_id'=>$id
                            ),
        'limit' => 48
    );

但很明显,这给了我一个错误,因为'where子句'中没有'ArchivesImage.archive_id'

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

试试这个

 $this->Paginator->settings = array(
    'joins'=>array(
          array(
             'table'=>'archives_images',
             'Alias'=>'ArchivesImage',
             'type'=> 'INNER',
             'conditions'=>array(
                  'ArchivesImage.archive_id=Archive.id'
                      )
         ),
          array(
             'table'=>'images',
             'Alias'=>'Image',
             'type'=> 'INNER',
             'conditions'=>array(
                  'Image.id=ArchivesImage.image_id'
                      )
         )
    ),
    'conditions' => array(
                        'Image.user_id'=>$this->Auth->user('id')
                        ),
    'limit' => 48,
    'recursive'=>-1
);