cakephp中使用查询中joins
在cakephp中使用复杂的sql查询是件麻烦的事情,我觉得是,你当然可以通过手写sql语句解决,但是这样导致的结果是其中的paginator不能用的,本来由cakephp得到的分页信息都得自己来写,够麻烦,好不容易找到下面的方法,可以这样使用连接自己想要的表,
$data = $this->User->find('all',
array(
'conditions' => array(
'OR' => array(
'User.name LIKE' => '%keyword%',
'User.subject LIKE' => 'keyword',
)
)
),
'joins' => array(
'notes' => array(
'table' => 'notes',
'alias' => 'Note',
'type' => 'LEFT',
'foreighKey' => false,
'conditions'> array('User.id = Note.User_id')
)
)
);
其中joins数组中每个子项分别对应要连接的表,array中可加入的key为sql语句中连接表需要的条件,如连接的表名、要使用的别名、连接的类型、连接的条件等