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

标签 php laravel

我不确定 PHP Laravel 框架中的 whereRaw 是什么。您能否提供良好且易于理解的示例?

最佳答案

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

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

请看下面的例子:

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

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

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)

希望对你有帮助(:

关于php - PHP Laravel框架中的whereRaw是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42927037/

相关文章:

javascript - 如何将iframe内容复制到div?

php - Laravel 关系更改表列使属性未定义

php - Laravel - 如何使用供应商类?

php - fatal error : Call to undefined function imap_open PHP

php - 在 PHP 版本中正确处理 NAN

php - HTTPS 和加密数据库在共享主机中真的安全吗?

php - Laravel:如何在 Laravel 查询构建器中使用派生表/子查询

php - 如何以 Laravel 方式执行此连接查询

php - 我无法在 Linux 上执行 php artisanserve

php - Laravel 4 中的 Eloquent 调用 : Dealing with single columns over multiple tables