【发布时间】:2018-07-11 21:15:30
【问题描述】:
我为 db 表创建了一个过滤器,但过滤器只适用于第一页
我在控制器中尝试这段代码
public function index(Request $request)
{
$user=User::orderBy('created_at', 'ASC');
if($request->get('search'))
{
if ($request->get('type')) {
$user->where('type', $request->get('type'));
}
if ($request->get('id')) {
$user->where('id', (integer)$request->get('id'));
}
if ($request->get('first_name')) {
$user->where('first_name', $request->get('first_name'));
}
if ($request->get('email')) {
$user->where('email', $request->get('email'));
}
}
$users = $user->paginate(20);
$user->appends(['search' => $request->get('search')]);
return view('admin.user.index', compact('users'));
}
但我得到了这个错误
Call to undefined method Illuminate\Database\Query\Builder::appends()
如何修复此错误或如何使过滤器适用于所有页面?
【问题讨论】:
-
$user->appends(['search' => $request->get('search')]);
-
我认为 laravel 中没有
appends()函数 -
有
appends方法吗? -
你在
$user->appends(['search' => $request->get('search')]);这里尝试什么? -
stackoverflow.com/questions/39326206/…我看到这个例子并尝试一下
标签: php database laravel-5 laravel-5.4 laravel-5.5