Maison > base de données > tutoriel mysql > le corps du texte

Comment lier des paramètres dans les requêtes Laravel Raw avec un modèle

DDD
Libérer: 2024-11-15 01:31:02
original
741 Les gens l'ont consulté

How to Bind Parameters in Laravel Raw Queries with a Model

Liaison de paramètres dans les requêtes brutes Laravel avec un modèle

Dans Laravel, lier des paramètres aux requêtes brutes de base de données utilisées sur les modèles peut être délicat. Cependant, voici une solution de contournement qui peut aider :

Problème :

La requête suivante échoue avec une erreur « Numéro de paramètre non valide » en raison de paramètres nommés et positionnels mixtes :

$query = DB::raw("... :lat, :lng, (calc) AS ...")->having("calc", "<", :radius);
Copier après la connexion

Solution :

Utiliser le Méthode setBindings() pour définir manuellement les liaisons de requête, en remplaçant le problème des paramètres mixtes :

$query = DB::raw("... ?, ?, (calc) AS ...")->having("calc", "<", "?");
$query->setBindings([$lat, $lng, $radius]);
Copier après la connexion

Explication :

L'instruction DB::raw() utilise la question marques comme paramètres de position, vous permettant de les définir en utilisant setBindings() au lieu de liaisons nommées. Cette approche vous permet d'utiliser l'interface fluide du générateur de requêtes sans vous soucier du mélange des paramètres.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal