<!–
MySQL 如何在 Laravel 中的模型中绑定参数到原始 DB 查询?
在Laravel中,我们常常需要使用数据库查询,在进行查询时,有时候需要使用原始 查询。此时,需要绑定一些参数来替代原始 查询中的一些变量,以确保查询安全性和正确性。
那么,在Laravel中的模型中,如何正确地绑定参数到原始 SQL 查询呢?下面,将逐步介绍具体的步骤。
阅读更多:
(adsbygoogle = window.adsbygoogle || []).push({});
1. 编写原始 SQL 查询
首先,需要以字符串形式编写原始 SQL 查询,如下所示:
$query = 'SELECT * FROM users WHERE id = ? AND created_at > ?';
其中,查询中有两个参数需要绑定,分别是 id
和 created_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 查询时,需要绑定参数来确保查询的正确性和安全性。在绑定参数时,只需要在执行查询语句时传入一个参数数组即可。