【发布时间】:2017-07-03 09:42:14
【问题描述】:
我尝试显示搜索结果的距离
代码和查询
$query = DB::select(DB::raw('SELECT id, ( 3959 * acos( cos( radians(' . $lat . ') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(' . $lng . ') ) + sin( radians(' . $lat .') ) * sin( radians(latitude) ) ) ) AS distance FROM listings HAVING distance < ' . $distance . ' ORDER BY distance') );
foreach($query as $q)
{
array_push($ids, $q->id);
}
$placeholders = implode(',',array_fill(0, count($ids), '?'));
$listings = Listing::whereIn('id', $ids)->orderByRaw("field(id,{$placeholders})", $ids)->paginate(10);
$query 包含距离。
如何在列表结果中添加距离?
【问题讨论】:
标签: mysql sql laravel laravel-5 eloquent