📜  orwhere in wherehas laravel - PHP (1)

📅  最后修改于: 2023-12-03 15:03:25.619000             🧑  作者: Mango

Laravel中的orWhere、whereIn和whereHas

在Laravel中,orWherewhereInwhereHas是查询构造器中很重要的方法,可以使得我们编写出更加灵活和功能强大的查询语句。

orWhere

orWhere方法是用于在查询中添加OR条件的,和where方法的作用类似,只不过它是用于构建OR条件的。

示例代码:

$users = DB::table('users')
                ->where('name', 'John')
                ->orWhere('name', 'Jane')
                ->get();

以上代码将会执行类似下面的SQL语句:

select * from users where name = 'John' or name = 'Jane'

可以看到,orWhere方法将会构造出OR查询条件。

whereIn

whereIn方法是用于查询列包含在给定数组中的行,类似于SQL语句中的IN操作符。

示例代码:

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

以上代码将会执行类似下面的SQL语句:

select * from users where id in (1, 2, 3)

可以看到,whereIn方法将会构造出IN查询条件。

whereHas

whereHas方法是用于查询关联关系存在的数据,通常和where方法一起使用。

示例代码:

$users = User::whereHas('posts', function ($query) {
    $query->where('title', 'like', '%foo%');
})->get();

以上代码将会查询出存在包含“foo”关键字的文章的用户,可以看到,whereHas方法非常适合用于编写复杂的关联关系查询语句。

至此,我们已经了解了Laravel中的orWherewhereInwhereHas,可以在构造复杂查询语句时使用它们来辅助我们的开发。