آموزش Caching یا کش کردن داده ها با رتروفیت در اندروید
آموزش Caching یا کش کردن داده ها با رتروفیت در اندروید
2020-02-20
Election-and-News-Android-app
سورس اندروید اپلیکیشن انتخابات و خبری + پنل مدیریت تحت وب
2020-02-29
Pagination یا صفحه بندی در لاراول 6 با Collection یا آرایه

Pagination یا صفحه بندی در لاراول 6 با Collection یا آرایه

Pagination یا صفحه بندی در لاراول 6 با Collection یا آرایه ، در این پست از وب سایت تجاری اپ ما به شما نحوه ایجاد Pagination یا صفحه بندی در laravel 6  با Collection یا آرایه را آموزش خواهیم داد.

ما آبجکت collection سفارشی خود را با آرایه ایجاد خواهیم کرد و صفحه بندی را با استفاده از eloquent لاراول خواهیم ساخت.

ما برای ایجاد صفحه بندی در لاراول 6  با آرایه سفارشی کلاس های Paginator و LengthAwarePaginator را use خواهیم کرد.

در این مثال ما یک route ساده را ایجاد کرده و در این route ما یک متد از یک کنترلر را فراخوانی کرده ایم.همچنین ما در این متد آرایه سفارشی خود را ایجاد کرده و به شی collection تبدیل می کنیم.ما همچنین در همین کنترلر متد دیگری با نام paginate() برای ایجاد Pagination یا صفحه بندی در لاراول 6 ایجاد خواهیم کرد.سپس شما فقط باید view را صدا بزنید و متغیر نتیجه را به آن پاس دهید.

برای یادگیری Pagination یا صفحه بندی در لاراول 6  با Collection شما کافیست گام های زیر را دنبال کنید.

گام اول: ایجاد Route

در این مرحله یک route جدید در فایل web.php ایجاد می کنیم. این route متد index را از کنترلر PaginationController صدا می زند.پس کد زیر را در فایل web.php می نویسیم:

routes/web.php

Route::get('paginate', 'PaginationController@index');

گام دوم: ایجاد کنترلر Controller

در این مرحله یک کنترلر با نام PaginationController به همراه دو متد ایجاد می کنیم ، یک متد که همان متدی می باشد که در route آن را صدا زدیم و دیگری برای ایجاد صفحه بندی یا pagination سفارشی.بنابراین کنترلر با نام مذکور را ایجاد می کنیم و کدهای زیر را در آن وارد می کنم:

app/Http/Controllers/PaginationController.php

<?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'=>'آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6'],
            ['id'=>2, 'title'=>'رسم نمودار در لاراول با کتابخانه Highcharts'],
            ['id'=>3, 'title'=>'آموزش ساخت پنل ادمین با لاراول با استفاده از voyager'],
            ['id'=>4, 'title'=>'آموزش ایمپورت و اکسپورت کردن فایل اکسل و csv در لاراول 6'],
            ['id'=>5, 'title'=>'آموزش middleware در لاراول 6'],
            ['id'=>6, 'title'=>'نحوه ایجاد کنترلر و مدل در لاراول 6 با استفاده از cmd'],
            ['id'=>7, 'title'=>'چگونه نسخه لاراول را بررسی کنیم ؟'],
            ['id'=>8, 'title'=>'آموزش مسیردهی Routing در لاراول 6'],
            ['id'=>9, 'title'=>'آموزش تنظیمات و پیکربندی لاراول 6'],
            ['id'=>10, 'title'=>'ساختار دایرکتوری فریمورک لاراول laravel'],
        ];

        $myCollectionObj = collect($myArray);

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

        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);
    }
}

گام سوم: ایجاد فایل View

در این مرحله ما یک فایل blade برای نمایش داده نیاز داریم.بنابراین ما یک فایل blade مانند زیر ایجاد می کنیم:

resources/views/paginate.blade.php

<div class="container">
    <table class="table table-bordered">
        <tr>
            <th>شناسه</th>
            <th>عنوان</th>
        </tr>
        @foreach($data as $post)
            <tr>
                <td>{{ $post->id }}</td>
                <td>{{ $post->title }}</td>

            </tr>
        @endforeach
    </table>
</div>

{{ $data->links() }}

امیدوارم این آموزش برای شما مفید بوده باشد…

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *