We are getting latitude and longitude at the 3rd degree because of which the clear out within the underneath query is not working in 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);
}
0 Replies