laravel - Laravel 关闭请求
问题描述
Assalamualaikum 伙计们,我的代码有一些问题。我试图通过在 laravel 上使用请求参数进行搜索。这是我的代码视图。
$maintenance->with([
'user_post' => function($query, Request $request){
if($request->has('searchBy') && $request->has('searchQuery'))
{
$parse_query = explode('.',$request->query('searchBy'));
$is_user = $parse_query[0] == 'user_post'? true : false;
if($is_user)
{
$query->where($parse_query[1],'LIKE','%'.$request->query('searchQuery').'%');
}
}
},
'dt_project'
]);
当我尝试在浏览器上执行时,它返回
1/1) ErrorException 未定义变量:request
我该怎么办?感谢月亮和回来。呵呵呵呵
解决方案
试试这个,将您的第 2 行更改为:
'user_post' => function($query) use($request){
解释:
Request $request
只能在控制器功能中使用,例如:
public function store(Request $request)
{
//code here
}
为了$request
在另一个函数中传递参数,请使用use
(这也称为变量继承):
public function store(Request $request)
{
$user= User::with(['roles' => function($query) use($request){
^^^
$query->where('roles.id', $request['role_id'])->first();
}])->get();
}