我尝试使用laravel在分页列表中添加特定元素。
在URL中,有一个参数可以查看列表中的特定用户(参数是用户的ID)。我得到这样的参数:
$openUserId = \Input::get('user', null);
之后,我有一个像这样的分页用户列表:
$users = User::filter($filter)
->with('company')
->isNot(Role::ADMIN)
->whereNotIn('id', [auth()->user()->id])
->where('status', 'active')
->paginate(10)
->appends($request->except('page'));
我想在10个第一个结果中添加的网址中创建我的用户列表,因为有时用户需要的不是10个第一个用户。
我无法创建集合或类似的东西,因为我需要保留分页中的函数(如nextPageUrl()或hasMorePages())。
答案 0 :(得分:1)
您需要使用两个查询来获取这些用户,使用合并集合合并集合和create LengthAwarePaginator
paginator manually:
$users = User::with('company')->take(1)->get();
$usersToMerge = User::filter($filter)
->with('company')
->isNot(Role::ADMIN)
->where('id', '!=', auth()-id())
->where('status', 'active')
->take(9)
->get();
$users->merge($usersToMerge);