📅  最后修改于: 2023-12-03 14:51:00.363000             🧑  作者: Mango
在 Laravel 中,使用 Eloquent 构建查询非常方便。但是有时候我们需要在同一查询中同时使用 equal 和 like 条件。本文将介绍如何在 Laravel 的同一查询中添加 like 和 equal。
为了更好地说明问题,我们将以一个示例简单说明如何实现这一功能。我们将使用 Laravel 5.8 版本。
假设我们有一个用户模型 User
,其中包含 name
和 email
两个属性。我们需要查询所有 name
属性为 'John' 并且 email
属性包含 'example.com' 的用户记录。
首先,我们需要编写 Eloquent 查询。在该查询中,我们需要使用 where
方法同时添加 equal
和 like
条件。具体代码如下:
$users = User::where('name', 'John')
->where('email', 'LIKE', '%@example.com')
->get();
上述代码中,我们使用 where
方法分别添加了名字为 'John' 的用户和 email 属性包含 '@example.com' 的用户记录。
我们可以使用 toSql
方法来查看该查询生成的 SQL 语句,具体代码如下:
$sql = User::where('name', 'John')
->where('email', 'LIKE', '%@example.com')
->toSql();
最后,我们可以通过 get
或 first
方法实际运行该查询,具体代码如下:
$users = User::where('name', 'John')
->where('email', 'LIKE', '%@example.com')
->get();
本文介绍了如何在 Laravel 的同一查询中添加 like 和 equal。首先,我们编写了 Eloquent 查询,然后使用 toSql
方法解析生成的 SQL 语句,最后使用 get
或 first
方法实际运行该查询。