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

后端 未结 6 565
迷失自我
迷失自我 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:28

    Old question, but if we have to repeat a variable, we have to change its key value in the bindings array.

        $property = Property::select(
            DB::raw("title, lat, lng, ( 3959 * acos( cos( radians(:lat) ) * 
            cos( radians( lat ) ) * cos( radians( lng ) - radians(:lng) ) + 
            sin(radians(:lat_i) ) * sin( radians( lat ) ) ) ) AS distance"),
            ["lat" => $lat, "lng" => $lng, "lat_i" => $lat]);
    

    That's enough.

提交回复
热议问题