Maison >base de données >tutoriel mysql >Générateur de requêtes Laravel 5 : comment utiliser correctement « orWhereLike() » avec des caractères génériques ?

Générateur de requêtes Laravel 5 : comment utiliser correctement « orWhereLike() » avec des caractères génériques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 06:07:10777parcourir

Laravel 5 Query Builder: How to Correctly Use `orWhereLike()` with Wildcards?

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!

Déclaration:
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