Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да свържете параметри към необработена DB заявка в Laravel, която се използва в модел?

Добре, след малко експериментиране, ето решението, до което стигнах:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа дата като iso 8601 формат с PHP

  2. Можете ли да използвате псевдоним в клаузата WHERE в mysql?

  3. Обявяване на ClusterControl 1.7.5:Разширена поддръжка и поддръжка на клъстер за PostgreSQL 12 и MongoDB 4.2

  4. Как да тествате дали MySQL заявка е била успешна при промяна на данните от таблицата на базата данни?

  5. Лесен начин за експортиране на SQL таблица без достъп до сървъра или phpMyADMIN