Laravel 5 Query Builder : équivalent de syntaxe 'LIKE'
Dans Laravel 5, l'opérateur LIKE dans les requêtes éloquentes est représenté par le 'whereLike ()' méthode. Cependant, certains utilisateurs ont rencontré des difficultés lors de l'utilisation de la méthode 'orWhereLike()' pour combiner des clauses LIKE.
Équivalent MySQL
La méthode 'orWhereLike()' générera une requête MySQL au format suivant :
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
Matching Résultats
Le code fourni dans la question :
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
Ne correspondra à aucun résultat car la condition « nom » ne contient pas les caractères génériques, qui sont requis pour indiquer une partie match.
Syntaxe correcte
Pour obtenir la requête MySQL prévue, utilisez ce qui suit code :
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
Cela générera la requête MySQL correcte :
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
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!