Paramètres de liaison dans les requêtes de base de données brutes Laravel sur des modèles
Lorsque vous travaillez avec des requêtes de base de données brutes dans Laravel sur des modèles, les paramètres de liaison peuvent être un défi . Ce problème survient lors de l'utilisation d'une combinaison de paramètres nommés et positionnels, entraînant l'erreur « Numéro de paramètre non valide : paramètres nommés et positionnels mixtes ».
Pour résoudre ce problème, envisagez la solution suivante :
$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();
En utilisant la méthode setBindings(), les valeurs des paramètres peuvent être liées à la requête, permettant l'exécution de requêtes de base de données brutes nécessitant un paramétrage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!