PHP Laravel 框架中的 whereRaw 是什么意思

2022-08-30 21:29:18

我不确定PHP Laravel框架中有什么。你能提供一些好且易于理解的例子吗?whereRaw


答案 1

WhereRaw()是Laravel查询构建器的一个函数,它将您的输入放在SQL查询的where子句中。

可以将其视为在插入查询之前不会处理其输入参数的函数。where()

请参阅下面的示例:

$Query = DB::table('some_table')->where('YEAR(date)', 'YEAR(CURRENT_DATE)');

在此,Laravel 将解析您的参数以构建查询。这将导致以下查询,因为您的输入将被视为一些及其:fieldvalue

SELECT * FROM `some_table` WHERE `YEAR(date)` = `YEAR(CURRENT_DATE)`

这是不希望的。

现在,如果您使用类似:whereRaw

$Query = DB::table('some_table')->whereRaw('YEAR(date) = YEAR(CURRENT_DATE)');

现在,Laravel 将此 where 子句放在您的查询中,如下所示:

SELECT * FROM `some_table` WHERE YEAR(date) = YEAR(CURRENT_DATE)

希望它有帮助(:


答案 2

其中Raw:有时,您可能需要在查询中使用原始表达式。这些表达式将作为字符串注入到查询中。

如果您无法通过流畅的界面生成所需的查询,请随时使用whereRaw()

前任:

$users = User::whereRaw('age > ? and votes = 100', array(25))->get();

这等于:

"SELECT * FROM users WHERE age > 25 AND votes = 100";

参考


推荐