Comment rendre la requête «IN» éloquente de Laravel?

111

Je veux faire une requête dans Laravel Eloquent comme ici sa requête brute MySQL

SELECT  * from  exampleTbl where id in(1,2,3,4)

J'ai essayé ceci dans Laravel Eloquent mais cela ne fonctionne pas

DB::where("id IN(23,25)")->get()
Ravi Jethva
la source

Réponses:

244

Voici comment vous faites dans Eloquent

$users = User::whereIn('id', array(1, 2, 3))->get();

Et si vous utilisez le générateur de requêtes, alors:

$users = DB::table('users')->whereIn('id', array(1, 2, 3))->get();
Raheel
la source
15

Si vous utilisez le générateur de requêtes, vous pouvez utiliser un coup

DB::table(Newsletter Subscription)
->select('*')
->whereIn('id', $send_users_list)
->get()

Si vous travaillez avec Eloquent, vous pouvez utiliser comme ci-dessous

$sendUsersList = Newsletter Subscription:: select ('*')
                ->whereIn('id', $send_users_list)
                ->get();
Nikunj K.
la source
7

Syntaxe:

$data = Model::whereIn('field_name', [1, 2, 3])->get();

Utiliser pour le modèle des utilisateurs

$usersList = Users::whereIn('id', [1, 2, 3])->get();
srmilon
la source