[英]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.