Maison > base de données > tutoriel mysql > Comment utiliser correctement l'opérateur LIKE avec « orWhere » de Laravel 5 Eloquent ?

Comment utiliser correctement l'opérateur LIKE avec « orWhere » de Laravel 5 Eloquent ?

Barbara Streisand
Libérer: 2024-11-28 00:56:11
original
912 Les gens l'ont consulté

How to Correctly Use the LIKE Operator with Laravel 5 Eloquent's `orWhere`?

Comparaison des requêtes équivalentes (éloquentes) Laravel-5 LIKE

Cette question explore l'utilisation de l'opérateur LIKE dans les requêtes de base de données avec Laravel-5 Éloquent. Le code fourni :

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

vise à récupérer les résultats qui correspondent soit à l'e-mail spécifié, soit à ceux qui contiennent une certaine chaîne dans le champ du nom. Cependant, la condition orWhereLike ne produit aucun résultat.

L'intention est de créer une requête équivalente à :

select * from booking_dates where email='[email protected]' or name like '%John%'
Copier après la connexion

Solution

Pour pour résoudre ce problème, il est recommandé d'utiliser '%...'% au lieu de '...' dans la clause LIKE. Cela garantit que toute chaîne spécifiée peut être trouvée dans le champ souhaité. Vous pouvez également utiliser ->whereLike au lieu de ->orWhereLike pour une syntaxe plus claire :

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

Journalisation de la base de données

Si vous rencontrez des problèmes avec le requêtes SQL générées, vous pouvez utiliser la fonction dd(DB::getQueryLog()) pour inspecter les requêtes exécutées et identifier les erreurs potentielles. Cela peut vous aider à résoudre les problèmes et à garantir que vos requêtes fonctionnent comme prévu.

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