J'utilise le code ci-dessous pour extraire des résultats de la base de données avec Laravel 5.
BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Cependant, le orWhereLike ne semble correspondre à aucun résultat. Qu'est-ce que ce code produit en termes d'instructions MySQL?
J'essaie de réaliser quelque chose comme ce qui suit:
select * from booking_dates where email='[email protected]' or name like '%John%'
Merci d'avance.
Si vous voulez voir ce qui est exécuté dans la base de données, utilisez dd(DB::getQueryLog())
pour voir quelles requêtes ont été exécutées.
Essaye ça
BookingDates::where('email', Input::get('email'))
->orWhere('name', 'like', '%' . Input::get('name') . '%')->get();
Je pense que c'est mieux, en suivant les bonnes pratiques de passage de paramètres à la requête:
BookingDates::whereRaw('email = ? or name like ?', [$request->email,"%{$request->name}%"])->get();
Vous pouvez le voir dans la documentation, Laravel 5.5.
Vous pouvez également utiliser l'éclaireur Laravel et faciliter la recherche. Voici la documentation.