Пагинация на Bootstrap по умолчанию

10 Июля 2021 01:03

При выводе большого количества ресурсов из базы данных, может потребоваться разбить их на части и выводить по отдельности на каждой странице. Для этого нужна пагинация.

В Laravel пагинация делается следующим образом:

Контроллер

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Post;

class AppController extends Controller
{
    $items= Posts::paginate(25);
    return view('home', compact('items'));
}

Шаблон

@if($items->total() > $items->count())
    <br>
    <div class="row justify-content-center">
        <div class="col-md-12">
            <div class="card">
                <div class="card-body">
                    {{ $items->links() }}
                </div>
            </div>
        </div>
    </div>
@endif

Метод links() формирует пагинацию используя верстку по умолчанию, а это может быть и Tailwind CSS. В таком случае, если нужно сменить верстку, скажем, на Bootstrap, нужно сделать следующее:

Заходим в файл project.local\app\Providers\AppServiceProvider.php.

  1. Добавляем пространство имен:
    use Illuminate\Pagination\Paginator;
  2. В метод Boot() добавляем следующее:
    Paginator::useBootstrap();

С этого момента, для пагинации будет исопльзоваться верстка Bootstrap