我有以下查询:
count()
它返回400多页,很多页面都是空的。网上没有任何问题。任何线索?
修改
DD(DB :: getQueryLog());吐出以下SQL:
return Calls::select(DB::raw("ph_n.`desc`, ph_s.StageName, Calls.PatID, Calls.CallTime, Calls.ApptDate, Calls.Name, ph.Response, Calls.Physician, r.StatusDesc, ph_s.DaysToNextStage, ph_e.ph_eventid, ph_e.EventName"))
->join('PopHealth as ph', function($join){
$join->on('Calls.PatID', '=', 'ph.PatID');
$join->on('Calls.Login', '=', 'ph.Login');
})
->join('Response as r', 'ph.Response', '=', 'r.RespID')
->join('PopHealth_stages as ph_s', 'ph.ph_eventid', '=', 'ph_s.ph_eventid')
->join('PopHealth_events as ph_e', 'ph.Login', '=', 'ph_e.Login')
->join('PopHealth_notify as ph_n', function($join){
$join->on('r.status', '<=', 'ph_n.RangeUpper');
$join->on('r.status', '>=', 'ph_n.RangeLower');
})
->where('Calls.Login', 'demo')
->distinct()->take(100)
->paginate(10);
SQL限制了结果。
答案 0 :(得分:0)
你有没有解决这个问题?
我面临同样的问题,我发现罪魁祸首是当laravel的paginate查询DB以查找元素的总数时,不考虑distinct,因此项目的总数要大得多。 / p>
这里有一个答案:Laravel 4 - paginate ignore distinct in Fluent
简而言之,你必须自己进行分页。