Laravel分页:添加新元素

时间:2018-02-09 12:07:34

标签: php laravel pagination

我尝试使用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())。

1 个答案:

答案 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);