Completed
Push — master ( 413e7c...13a6e1 )
by Sergi Tur
09:46
created

HasPaginator::paginate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 2
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Acacha\Users\Traits;
4
5
6
use Illuminate\Pagination\LengthAwarePaginator;
7
use Illuminate\Support\Collection;
8
9
/**
10
 * Class HasPaginator.
11
 * 
12
 * @package Acacha\Users\Traits
13
 */
14
trait HasPaginator
15
{
16
    /**
17
     * Create a length aware custom paginator instance.
18
     *
19
     * @param  Collection  $items
20
     * @param  int  $perPage
21
     * @return \Illuminate\Pagination\LengthAwarePaginator
22
     */
23
    protected function paginate($items, $perPage = 15)
24
    {
25
        $currentPage = LengthAwarePaginator::resolveCurrentPage();
26
27
        $currentPageItems = collect($items)->slice(($currentPage - 1) * $perPage, $perPage);
28
29
        return new LengthAwarePaginator($currentPageItems, count($items), $perPage);
30
    }
31
}