簡體   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