如何使Laravel雄辩"IN"查询?

Rav*_*hva 89 php orm laravel eloquent

我想在Laravel Eloquent中查询它的原始MySQL查询

SELECT  * from  exampleTbl where id in(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

我在Laravel Eloquent尝试了这个但是它不起作用

DB::where("id IN(23,25)")->get()
Run Code Online (Sandbox Code Playgroud)

Rah*_*eel 202

以下是您在Eloquent中的表现

$users = User::whereIn('id', array(1, 2, 3))->get();
Run Code Online (Sandbox Code Playgroud)

如果您使用的是"查询"构建器,则:

$users = DB::table('users')->whereIn('id', array(1, 2, 3))->get();
Run Code Online (Sandbox Code Playgroud)


Nik*_* K. 14

如果您使用的是"查询"构建器,则可能会使用"打击"

DB::table(Newsletter Subscription)
->select('*')
->whereIn('id', $send_users_list)
->get()
Run Code Online (Sandbox Code Playgroud)

如果您正在使用Eloquent,那么您可以使用如下

$sendUsersList = Newsletter Subscription:: select ('*')
                ->whereIn('id', $send_users_list)
                ->get();
Run Code Online (Sandbox Code Playgroud)


Guf*_*san 10

正如@Raheel 回答的那样,那会很好,但是如果你正在使用Laravel 6/7

然后使用 EloquentwhereIn查询。

示例1:

$users = User::wherein('id',[1,2,3])->get();
Run Code Online (Sandbox Code Playgroud)

示例2:

$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
Run Code Online (Sandbox Code Playgroud)

例3:

$ids = [1,2,3];

$users = User::wherein('id',$ids)->get();
Run Code Online (Sandbox Code Playgroud)

  • 这实际上与 5 年前发布的已接受答案的代码相同。这个答案有什么意义呢? (3认同)

小智 5

句法:

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

用于用户模型

$usersList = Users::whereIn('id', [1, 2, 3])->get();
Run Code Online (Sandbox Code Playgroud)