我有以下口才查询。
Company::has('cars')->with([
'cars', 'location' => function ($q) {
$q->nearBy(); // *** See futher
}
])->take(40)->paginate(10);
如何按距离订购公司?
***这是Location
模型中的NearBy范围:
public function scopeNearBy($query)
{
$location = json_decode(request()->cookie('location'));
$query->distance($location->lat, $location->lng); // ** Using package
return $query->orderBy('distance');
}
**使用this package。
距离的计算是可以的,当我调用以下内容时可以使用
。\App\Address::nearBy()->get()
答案 0 :(得分:0)
您必须将位置表加入到公司查询中,然后才能按距离排序。
答案 1 :(得分:0)
我认为,唯一的方法是在添加每个位置时存储它们的距离。然后,您当然可以按距离订购它们。
答案 2 :(得分:0)
如果您可以使用该软件包查找距离。将距离附加到您的公司模型中。
然后您可以轻松地在控制器中对集合进行排序