Comment effectuer des recherches insensibles à la casse avec LIKE dans l'ORM éloquent de Laravel 5 ?

Linda Hamilton
Libérer: 2024-10-25 07:13:28
original
221 Les gens l'ont consulté

How to Perform Case-Insensitive Searches with LIKE in Laravel 5's Eloquent ORM?

Équivalent Laravel-5 'LIKE' (éloquent)

Lors de la recherche d'enregistrements de base de données à l'aide de l'ORM éloquent de Laravel 5, la méthode Where peut être utilisée avec l'opérateur LIKE pour effectuer des comparaisons insensibles à la casse. Cependant, la syntaxe de cet opérateur dans Laravel diffère de la syntaxe SQL LIKE standard.

Question :

Un développeur tente d'exécuter la requête suivante à l'aide d'Eloquent de Laravel 5. ORM :

BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Copier après la connexion

Cependant, aucun résultat n'est renvoyé. Le développeur ne sait pas pourquoi la clause orWhereLike ne correspond à aucun résultat.

Réponse :

La syntaxe orWhereLike accepte deux arguments : le nom de la colonne à rechercher et le nom de la recherche. terme. Dans ce cas, la colonne de nom recherche une valeur qui contient l'entrée utilisateur spécifiée par Input::get('name').

Cependant, le code fourni utilise la méthode orWhere, pas la méthode orWhereLike. . Pour effectuer une recherche insensible à la casse à l'aide de LIKE, la syntaxe correcte est :

orWhere('name', 'like', '%' . Input::get('name') . '%')
Copier après la connexion

Ce code produira l'instruction MySQL suivante :

SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%John%'
Copier après la connexion

En utilisant les signes de pourcentage (%) dans le terme de recherche, la requête correspondra à tous les enregistrements dont la colonne de nom contient la chaîne spécifiée, quelle que soit sa position dans la valeur de la colonne.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!