【发布时间】:2017-07-03 16:14:05
【问题描述】:
如何为这个查询使用分页?
$listings = DB::table('listings')
->selectRaw('*, ( 3959 * acos( cos( radians(' . $lat . ') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(' . $lng . ') ) + sin( radians(' . $lat .') ) * sin( radians(latitude) ) ) ) AS distance')
->having('distance', '<', $distance)
->orderBy('distance')->paginate(10);
我试过 paginate(10) 还是不行。
错误:
SQLSTATE [42S22]:未找到列:1054 未知列“距离”在“有子句”中(SQL:选择计数(*)作为来自 listings 的聚合,具有 distance
【问题讨论】:
-
对此我不太确定。不过,你可以试试。
'*, ( 3959 * acos( cos( radians(' . $lat . ') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(' . $lng . ') ) + sin( radians(' . $lat .') ) * sin( radians(latitude) ) ) ) AS distance' having distance < ' . $distance并删除->having('distance', '<', $distance) -
试试这个链接stackoverflow.com/questions/40194120/…希望你能得到解决方案
标签: mysql sql laravel laravel-5 pagination