php - Laravel - 使用 Query Builder 函数传递变量

标签 php laravel

使用 Laravel 的查询生成器示例是否可以将变量传递给此函数:

$someVariable = 1;

DB::table('users')
        ->where('name', '=', 'John')
        ->orWhere(function ($query) use ($someVariable) {
            $query->where('votes', '>', $someVariable)
                  ->where('title', '<>', 'Admin');
        })
        ->get();

函数似乎无法访问自身以外的变量。我得到一个错误: undefined variable :$someVariable

最佳答案

对于该函数之外的变量,您需要在函数后使用“use”关键字。如果 $someVariable 是您要使用的那个,这应该可以工作。

$someVariable = 1;

DB::table('users')
->where('name', '=', 'John')
->orWhere(function ($query) use($someVariable) {
    $query->where('votes', '>', $someVariable)->where('title', '<>', 'Admin');
})->get();

关于php - Laravel - 使用 Query Builder 函数传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46436176/

相关文章:

php - 修复将数据库导入 Wampserver 的 1064 SQL 错误

php - 使用 php 变量更改 css 类

php - 有没有办法在 PHP 中检查 cookie 是否为 httponly

php - Laravel - 在routes.php中使用 'where'来查询模型

php - Laravel 文件不存在 - 文件上传

javascript - 如何存储自定义 css。 laravel 中的 js 文件并在 View 中调用它

php - CentOS 7 上带有 Apache 的多个 PHP 版本

php - 如何更改 NumberFormatter::parseCurrency() 接受空格和不间断空格的行为?

php - Laravel:目标 [Lcobucci\JWT\Parser] 不可实例化

php - Laravel Collection::toArray() 触发额外的数据库查询