laravel Query distances between two coordinates with Eloquent


        $latitude = $request->latitude;
        $longitude = $request->longitude;
        $distance = 30;

        $users = User::whereHas('userprofile', function($q) use ($latitude, $longitude, $distance)
        {

            $q->where([
            ['latitude',  '!=', $latitude],
            ['longitude', '!=', $longitude]
        ])
            ->whereRaw( DB::raw( "(3959 * acos( cos( radians($latitude) ) * cos( radians( latitude ) )  * 
                          cos( radians( longitude ) - radians($longitude) ) + sin( radians($latitude) ) * sin( 
                          radians( latitude ) ) ) ) < $distance ")
            );


        })->where('role', 2)->where('status', 1)->get();

Comments

Popular posts from this blog

PHP PDO insert query

PHP PDO count row