繁体   English   中英

Laravel - 使用查询生成器函数传递变量

[英]Laravel - Pass a variable with Query Builder function

使用 Laravel 的查询构建器示例可以将变量传递给此函数:

$someVariable = 1;

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

该函数似乎无法访问自身之外的变量。 我收到一个错误:未定义的变量:$someVariable

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

$someVariable = 1;

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM