Laravel Éloquent orWhere Requête
Quelqu'un peut me montrer comment écrire cette requête dans Éloquent?
SELECT * FROM `projects` WHERE `id`='17' OR `id`='19'
Je pense
Project::where('id','=','17')
->orWhere('id','=','19')
->get();
Aussi mes variables (17 et 19) dans ce cas sont à venir à partir d'un multiple de sélectionner la zone, donc en gros dans un tableau. Des indices sur la façon de passer à travers et d'ajouter que ces où/orWhere clauses dynamiquement?
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous pourriez le faire de trois façons. Supposons que vous avez un tableau dans le formulaire
['myselect' => [11, 15, 17, 19], 'otherfield' => 'test', '_token' => 'jahduwlsbw91ihp']
qui pourrait être un dump de\Input::all();
La meilleure approche pour ce cas est à l'aide de Laravel est l'équivalent de SQL
IN()
.Sera le même que:
Cette approche est plus agréable et aussi plus efficace, selon le Manuel Mysql, si toutes les valeurs sont des constantes,
IN
trie la liste, puis utilise une recherche binaire.Dans laravel 5, vous pourriez faire de cette façon.
Ceci est très utile surtout si vous avez des méthodes personnalisées sur vos modèles de Projets et vous avez besoin d'interroger à partir d'une variable. Vous ne pouvez pas passer
$selects
à l'intérieur de la orWhere méthode.