Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak powiązać parametry z surowym zapytaniem DB w Laravel, które jest używane w modelu?

OK, po kilku eksperymentach, oto rozwiązanie, które wymyśliłem:

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

Zasadniczo setBindings musi zostać wywołany w zapytaniu. Chciałbym, żeby to zostało udokumentowane!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd instalacji Ruby gem mysql2

  2. Jak ustawić domyślną wartość kolumny sygnatury czasowej na bieżący datownik za pomocą migracji Laravel?

  3. MySQL - UPDATE zapytanie oparte na SELECT Query

  4. PHP wyświetla obraz BLOB z MySQL

  5. Narzędzie LINQ dla Javy