用ORM进行查询,并一起使用(AND)和(OR)

时间:2018-10-07 10:21:58

标签: php mysql laravel laravel-5

我想用ORM进行查询,并一起使用(AND)和(OR) 我的代码是:

$users = \App\User::where('type',1)->orWhere('type',2)->orWhere('type',3)->where('name',$name)->where('family',$family)->get();

那是错误的

我的代码应加入

$users = \App\User::where('type',1)->orWhere('type',2)->orWhere('type',3)->get();

使用

 $users = \App\User::where('name',$name)->where('family',$family)->get()

如何编写真正的查询?

2 个答案:

答案 0 :(得分:2)

如果案件属于同一领域,那么您需要使用whereIn,如@Tharaka Dilshan所述。

如果情况比这更复杂,则可能要使用分组查询:

$users = \App\User::where(function ($query) {
    $query->where('type', 1)->orWhere('type', 2)->orWhere('type', 3);
})
->where('name', $name)
->where('family', $family)
->get();

有关Parameter Grouping.

的更多详细信息

答案 1 :(得分:0)

似乎您正在寻找的是fab函数。

whereIn()函数将单列值与whereIn()数据进行比较。

array