Tampilkan postingan dengan label laravel ubuntu linux paginator. Tampilkan semua postingan
Tampilkan postingan dengan label laravel ubuntu linux paginator. Tampilkan semua postingan

Manual pagination from array collection

Here, we will create PaginationController with two method, one for call route and another for creating custom pagination. So let's add controller as like bellow:

 

 Create controller

<?php

 

namespace App\Http\Controllers;

 

use Illuminate\Http\Request;

use Illuminate\Pagination\Paginator;

use Illuminate\Support\Collection;

use Illuminate\Pagination\LengthAwarePaginator;


 

class PaginationController extends Controller

{

    /**

     * The attributes that are mass assignable.

     *

     * @var array

     */

    public function index()

    {

        $myArray = [

            ['id'=>1, 'title'=>'Laravel CRUD'],

            ['id'=>2, 'title'=>'Laravel Ajax CRUD'],

            ['id'=>3, 'title'=>'Laravel CORS Middleware'],

            ['id'=>4, 'title'=>'Laravel Autocomplete'],

            ['id'=>5, 'title'=>'Laravel Image Upload'],

            ['id'=>6, 'title'=>'Laravel Ajax Request'],

            ['id'=>7, 'title'=>'Laravel Multiple Image Upload'],

            ['id'=>8, 'title'=>'Laravel Ckeditor'],

            ['id'=>9, 'title'=>'Laravel Rest API'],

            ['id'=>10, 'title'=>'Laravel Pagination'],

        ];

 

        $data = $this->paginate($myArray);

   

        return view('paginate', compact('data'));

    }

   

    /**

     * The attributes that are mass assignable.

     *

     * @var array

     */

    public function paginate($items, $perPage = 5, $page = null, $options = [])

    {

        $page = $page ?: (Paginator::resolveCurrentPage() ?: 1);

        $items = $items instanceof Collection ? $items : Collection::make($items);

        return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options);

    }

}

 Create View File



Here, we just need to create blade file to print data. so let's create simple blade file as like bellow:

app/Http/Controllers/PaginationController.php

Read Also: How to Define Fallback Routes in Laravel?

<div class="container">

    <table class="table table-bordered">

        <tr>

            <th>Id</th>

            <th>Title</th>

        </tr>

        @foreach($data as $post)

        <tr>

            <td>{{ $post->id }}</td>

            <td>{{ $post->title }}</td>

        </tr>

        @endforeach

    </table>

</div>

   

{{ $data->links() }}

Now you can run and check.

 

 https://www.itsolutionstuff.com/post/how-to-create-pagination-from-array-in-laravelexample.html