Bindungsparameter in Laravel-Roh-DB-Abfragen für Modelle
Bei der Arbeit mit Roh-DB-Abfragen in Laravel für Modelle können Bindungsparameter eine Herausforderung darstellen . Dieses Problem tritt auf, wenn eine Kombination aus benannten und Positionsparametern verwendet wird, und führt zu dem Fehler „Ungültige Parameternummer: benannte und Positionsparameter gemischt.“
Um dieses Problem zu beheben, ziehen Sie die folgende Lösung in Betracht:
$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();
Durch die Verwendung der setBindings()-Methode können Parameterwerte an gebunden werden Die Abfrage ermöglicht die Ausführung von Roh-DB-Abfragen, die eine Parametrisierung erfordern.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Bindungsparametern in Laravel Raw DB-Abfragen für Modelle um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!