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