How to bind parameters to a raw DB query in Laravel that's used on a model?

后端 未结 6 568
迷失自我
迷失自我 2020-11-29 01:41

Re,

I have the following query:

$property = 
    Property::select(
        DB::raw(\"title, lat, lng, ( 
            3959 * acos( 
                co         


        
6条回答
  •  天涯浪人
    2020-11-29 02:19

    why not?

        $latitude = $request->input('latitude', '44.4562319000');
        $longitude = $request->input('longitude', '26.1003480000');
        $radius = 1000000;
    
        $locations = Locations::selectRaw("id, name, address, latitude, longitude, image_path, rating, city_id, created_at, active,
                             ( 6371 * acos( cos( radians(?) ) *
                               cos( radians( latitude ) )
                               * cos( radians( longitude ) - radians(?)
                               ) + sin( radians(?) ) *
                               sin( radians( latitude ) ) )
                             ) AS distance", [$latitude, $longitude, $latitude])
            ->where('active', '1')
            ->having("distance", "<", $radius)
            ->orderBy("distance")
            ->get();
    

提交回复
热议问题