📅  最后修改于: 2023-12-03 15:32:35.439000             🧑  作者: Mango
在 Laravel 中,查询数据是非常常见的操作。有时候需要对多个属性进行筛选,这时候就需要用到多个逻辑条件。
我们首先看一下使用单个条件的查询:
$users = DB::table('users')
->where('name', 'John')
->get();
这里的 where
方法接收两个参数,第一个是要查询的属性名,第二个是该属性的值。这样就可以查询出所有 name
属性为 John
的用户。
我们可以通过链式调用添加多个条件:
$users = DB::table('users')
->where('name', 'John')
->where('age', '>', 18)
->get();
上述代码中,我们使用两个 where
条件,查询出 name
属性为 John
且 age
属性大于 18 的用户。
有时候我们需要使用 or 来查询,此时可以使用 orWhere
:
$users = DB::table('users')
->where('name', 'John')
->orWhere('age', '>', 18)
->get();
上述代码中,我们通过 orWhere
方法添加了一个 or 条件,查询出所有 name
属性为 John
或者 age
属性大于 18 的用户。
当有多个条件需要嵌套时,我们可以使用闭包:
$users = DB::table('users')
->where('name', '=', 'John')
->where(function ($query) {
$query->where('age', '>', 18)
->orWhere('votes', '>', 100);
})
->get();
上述代码中,我们使用了一个闭包来创建条件嵌套。查询出所有 name
属性为 John
且 (age
大于 18 或者 votes
大于 100) 的用户。
以上就是在 Laravel 查询中使用多个逻辑条件的方法。