向包含join语句的活动记录查询添加限制的正确方法是什么?我已经有了一个activerecord join语句,它可以转换成正确的SQL
static $belongs_to = array(
array('job_request')
);
$requests = $this->all(array(
'joins' => array('job_request'),
'conditions' => array('DATE(job_date) >= ? AND DATE(job_date) <= ? AND'
. ' user_id = ?', $start_date, $end_date, $userid))
); 这将转换为SQL,格式为
SELECT `job_applications`.* FROM `job_applications` INNER JOIN `job_requests`
ON(`job_applications`.job_request_id = `job_requests`.id) WHERE
DATE(job_date) >= '2013-01-28' AND DATE(job_date) <= '2013-03-04'
AND user_id = '1'但是,如果我添加了一个限制,则连接将从SQL查询中删除
$requests = $this->all(array(
'joins' => array('job_request'),
'conditions' => array('DATE(job_date) >= ? AND DATE(job_date) <= ? AND'
. ' user_id = ?', $start_date, $end_date, $userid)),
array('limit' => 200, 'offset' => 0));
生成
SELECT * FROM `job_applications` LIMIT 0,999999发布于 2013-03-04 14:24:23
limit和offset属于第一个数组。
array('conditions'=>'...',
'joins'=>'...',
'limit'=>5',
'offset'=>5
);您的数组看起来像
array('conditions'=>'...',
'joins'=>'...'),
array('limit'=>5','offset'=>5)
);https://stackoverflow.com/questions/15134699
复制相似问题