Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để liên kết các tham số với một truy vấn DB thô trong Laravel được sử dụng trên một mô hình?

OK, sau một số thử nghiệm, đây là giải pháp mà tôi đã đưa ra:

$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();

Về cơ bản, setBindings phải được gọi trên truy vấn. Ước gì điều này được ghi lại!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cấp quyền truy cập từ xa cơ sở dữ liệu MySQL từ bất kỳ địa chỉ IP nào

  2. Cách giám sát cơ sở dữ liệu MySQL / MariaDB bằng Netdata trên CentOS 7

  3. Cơ chế theo dõi các thay đổi giản đồ DB

  4. JSON_REMOVE () - Xóa dữ liệu khỏi tài liệu JSON trong MySQL

  5. PDO với CHÈN VÀO thông qua các báo cáo đã chuẩn bị