📜  在 laravel 的同一查询中添加 like 和 equal - PHP (1)

📅  最后修改于: 2023-12-03 14:51:00.363000             🧑  作者: Mango

在 Laravel 的同一查询中添加 like 和 equal

在 Laravel 中,使用 Eloquent 构建查询非常方便。但是有时候我们需要在同一查询中同时使用 equal 和 like 条件。本文将介绍如何在 Laravel 的同一查询中添加 like 和 equal。

为了更好地说明问题,我们将以一个示例简单说明如何实现这一功能。我们将使用 Laravel 5.8 版本。

示例说明

假设我们有一个用户模型 User,其中包含 nameemail 两个属性。我们需要查询所有 name 属性为 'John' 并且 email 属性包含 'example.com' 的用户记录。

实现步骤
第一步:编写 Eloquent 查询

首先,我们需要编写 Eloquent 查询。在该查询中,我们需要使用 where 方法同时添加 equallike 条件。具体代码如下:

$users = User::where('name', 'John')
            ->where('email', 'LIKE', '%@example.com')
            ->get();

上述代码中,我们使用 where 方法分别添加了名字为 'John' 的用户和 email 属性包含 '@example.com' 的用户记录。

第二步:解析查询生成的 SQL 语句

我们可以使用 toSql 方法来查看该查询生成的 SQL 语句,具体代码如下:

$sql = User::where('name', 'John')
            ->where('email', 'LIKE', '%@example.com')
            ->toSql();
第三步:运行查询

最后,我们可以通过 getfirst 方法实际运行该查询,具体代码如下:

$users = User::where('name', 'John')
            ->where('email', 'LIKE', '%@example.com')
            ->get();
总结

本文介绍了如何在 Laravel 的同一查询中添加 like 和 equal。首先,我们编写了 Eloquent 查询,然后使用 toSql 方法解析生成的 SQL 语句,最后使用 getfirst 方法实际运行该查询。