【发布时间】:2021-12-21 21:08:57
【问题描述】:
由于以下查询中的过滤器在 Laravel 中不起作用,我们正在第三级获取纬度和经度
// Filters Form Nearest location with latitude and longitude.
if ($request->latitude !="" && $request->longitude !="") {
$list = $list->whereHas('partnerOutletPromotion', function ($query) use ($request) {
$query->select(DB::raw("*, 6371 * acos(cos(radians('".$request->latitude."')) *
cos(radians(latitude)) * cos(radians(longitude) - radians('".$request->longitude."')) +
sin(radians('".$request->latitude."')) * sin(radians(latitude))) AS distance"));
$query = $query->having('distance', '<', 100000);
$query = $query->orderBy('distance', 'asc');
});
return response()->json($list->get());
}
// model function
public function partnerOutletPromotion(){
return $this->hasManyThrough(PartnerOutlet::class, PartnerOutletPromotion::class);
}
错误信息
【问题讨论】:
-
显示错误跟踪 man!
-
已添加。请检查i.stack.imgur.com/heoAG.png
标签: laravel filter relationship