sql >> データベース >  >> RDS >> Mysql

モデルで使用されているLaravelの生のDBクエリにパラメーターをバインドするにはどうすればよいですか?

    OK、いくつかの実験の後、これが私が思いついた解決策です:

    $property = 
        Property::select(
            DB::raw("title, lat, lng, ( 
                3959 * acos( 
                    cos( radians(  ?  ) ) *
                    cos( radians( lat ) ) * 
                    cos( radians( lng ) - radians(?) ) + 
                    sin( radians(  ?  ) ) *
                    sin( radians( lat ) ) 
                )
           ) AS distance")
        )
        ->having("distance", "<", "?")
        ->orderBy("distance")
        ->take(20)
        ->setBindings([$lat, $lng, $lat,  $radius])
        ->get();
    

    基本的に、setBindings クエリで呼び出す必要があります。これが文書化されていればいいのですが!



    1. SQLServerデータベース内のすべてのビューを一覧表示する4つの方法

    2. PostgreSQLで複数の列の合計を計算する方法

    3. Oracleでテーブルを更新する方法

    4. バッチファイルからSQLを実行する