表格模型
{
//filters search
if(isset($filters['search']) ? $filters['search'] : false){
return $query->where('tittle','like','%' . $filters('search') . '%')
->orWhere('body', 'like', '%' .$filters('search') . '%');
}
}
和控制器
"posts" => Post::latest()->filter(request(['search']))->get()
和i get数组回调必须正好有两个元素
我只是学习laravel 8请帮助我
3条答案
按热度按时间6tdlim6h1#
只需将其更改为$filters [“搜索”]而不是$filters(“搜索”)
jogvjijk2#
你需要在if代码块中修改条件检查,你在那里做了额外的工作,你可以使用
empty
而不是isset
这将检查键是否存在,并且它不是null和空的,所以它将如下所示:另外,如果你试图从请求中获取搜索请求,那么你应该只使用
request('search)
。在filter方法(作用域)中。你确定你需要数组吗?因为你传递的是一个搜索值,request('search)
是数组吗?sigwle7e3#