ahmadajah03 Tue Oct 2020 2 years ago

Contoh manual pagination dengan array Laravel 8

Jika Anda perlu membuat  custom pagination dari array Anda, Anda dapat belajar dari posting ini. pada dasarnya kita melakukan pagination dengan model atau fasad DB seperti "User::paginate(10)" atau "DB::table('users')->paginate(10)". Tetapi sekarang jika Anda memiliki array baru dan Anda ingin membuat pagination pada array Anda maka Anda juga dapat memberikan menggunakan kelas "LengthAwarePaginator" lihat contoh berikut:

Contoh:

public function myData($userid)
{
    $data = static::get();
    

    $result = [];
    if(!empty($data)){
        foreach ($data as $key => $value) {
            $result[$value->type.'-'.$value->postid][] = $value;
        }
    }
    

    $paginate = 10;
    $page = Input::get('page', 1);
    

    $offSet = ($page * $paginate) - $paginate;  
    $itemsForCurrentPage = array_slice($result, $offSet, $paginate, true);  
    $result = new \Illuminate\Pagination\LengthAwarePaginator($itemsForCurrentPage, count($result), $paginate, $page);
    $result = $result->toArray();
    return $result;
}

 

laravel custom paginate laravel