MySQL 如何在 Laravel 中的模型中绑定参数到原始 DB 查询?


<!–

–>

MySQL 如何在 Laravel 中的模型中绑定参数到原始 DB 查询?

在Laravel中,我们常常需要使用数据库查询,在进行查询时,有时候需要使用原始 查询。此时,需要绑定一些参数来替代原始 查询中的一些变量,以确保查询安全性和正确性。

那么,在Laravel中的模型中,如何正确地绑定参数到原始 SQL 查询呢?下面,将逐步介绍具体的步骤。

阅读更多:

(adsbygoogle = window.adsbygoogle || []).push({});

1. 编写原始 SQL 查询

首先,需要以字符串形式编写原始 SQL 查询,如下所示:

$query = 'SELECT * FROM users WHERE id = ? AND created_at > ?';

其中,查询中有两个参数需要绑定,分别是 idcreated_at

2. 绑定参数

接下来,使用模型中的 DB façade的 select() 方法来执行原始 SQL 查询,并绑定参数,如下所示:

$result = DB::select($query, [$id, $date]);

select() 方法中,第一个参数是要执行的原始 SQL 查询,第二个参数是一个数组,数组中的每一项对应原始 SQL 查询中的一个参数。

示例

下面是一个完整的示例:

$id = 1;
$date = '2022-07-01';
$query = 'SELECT * FROM users WHERE id = ? AND created_at > ?';
$result = DB::select($query, [$id, $date]);

以上示例代码中的查询语句就相当于在MySQL中执行了以下语句:

(adsbygoogle = window.adsbygoogle || []).push({});

SELECT * FROM users WHERE id = 1 AND created_at > '2022-07-01';

总结

在Laravel中,使用模型执行原始 SQL 查询时,需要绑定参数来确保查询的正确性和安全性。在绑定参数时,只需要在执行查询语句时传入一个参数数组即可。