相当于
SELECT to_jobs.rec_id,to_jobs.contarct_code, to_jobs.job_num , to_sites.site_name, to_sites.postcode, to_sites.site_id
FROM to_jobs
到laravel是
DB::table('to_jobs')
->select(array(
'to_jobs.rec_id',
'to_jobs.contarct_code',
'to_jobs.job_num',
'to_sites.site_name',
'to_sites.postcode',
'to_sites.site_id'
))
等效的
LEFT JOIN to_sites
ON to_jobs.fk_site_id = to_sites.site_id
成laravel是
->leftJoin('to_sites', 'to_jobs.fk_site_id', '=', 'to_sites.id')
而等效的
JOIN (SELECT rec_id
FROM to_jobs
LIMIT 299990, 10) AS t
ON t.rec_id = to_jobs.rec_id
成laravel是
->join(DB::raw('(SELECT rec_id FROM to_jobs LIMIT 299990, 10) AS t'), function($join) {
$join->on('t.rec_id ', '=', 'to_jobs.rec_id');
})
所以你的查询生成器会是这样
DB::table('to_jobs')
->select(array(
'to_jobs.rec_id',
'to_jobs.contarct_code',
'to_jobs.job_num',
'to_sites.site_name',
'to_sites.postcode',
'to_sites.site_id'
))
->leftJoin('to_sites', 'to_jobs.fk_site_id', '=', 'to_sites.id')
->join(DB::raw('(SELECT rec_id FROM to_jobs LIMIT 299990, 10) AS t'), function($join) {
$join->on('t.rec_id ', '=', 'to_jobs.rec_id');
})
如何添加 - > PAGINATE(10);到这个查询。我尝试添加 - > paginate(10);在最后但不工作。返回一个错误“'on子句'中的未知列't.rec_id'(SQL:select count(*)as'to_jobs'的集合左连接'to_sites' on'to_jobs'.'fk_site_id' ='to_sites'.'site_id '内部连接(SELECT rec_id FROM to_jobs LIMIT 299990,10)as t on't'.'rec_id'='to_jobs'.'rec_id')“ –
@Alfizamalek但没有paginate()查询生成器不会产生错误? – Beginner
不,我想添加paginate()。所以我问我如何可以添加到此查询? –