将条件参数传递给 laravel 中的 Eager Loading 以错误结束
Passing conditional param to Eager Loading in larave ends with error
我的代码如下:
return User::whereHas('roles', function ($role, $query) {
return $role;
$query->whereId($role);
})->get();
我正在尝试的是将角色 ID 传递给查询构建器。
最终出现以下错误:
Symfony\Component\Debug\Exception\FatalThrowableError
Too few arguments to function App\Http\Controllers\UserController::App\Http\Controllers\{closure}(), 1 passed in /Users/x/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php on line 962 and exactly 2 expected
我想这就是你想要的:
闭包是一种在其自身环境中求值的函数,它具有一个或多个绑定变量,可以在调用该函数时访问这些变量。
use()
关键字让您可以从函数环境外部、函数内部导入变量。
return User::whereHas('roles', function ($query) use ($role) {
return $query->whereId($role);
})->get();
我的代码如下:
return User::whereHas('roles', function ($role, $query) {
return $role;
$query->whereId($role);
})->get();
我正在尝试的是将角色 ID 传递给查询构建器。
最终出现以下错误:
Symfony\Component\Debug\Exception\FatalThrowableError
Too few arguments to function App\Http\Controllers\UserController::App\Http\Controllers\{closure}(), 1 passed in /Users/x/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php on line 962 and exactly 2 expected
我想这就是你想要的:
闭包是一种在其自身环境中求值的函数,它具有一个或多个绑定变量,可以在调用该函数时访问这些变量。
use()
关键字让您可以从函数环境外部、函数内部导入变量。
return User::whereHas('roles', function ($query) use ($role) {
return $query->whereId($role);
})->get();