47

I had a problem while trying out the recently released laravel 8, I'm trying to find out what the changes are and how it works. When I did that I had a problem with the paginate laravel 8 UI getting messy and somehow it happened. Is there anyone who can help me? or have experienced the same thing?

Like this the view I got in laravel 8 Laravel 8 paginate UI

and this is the code I use "Index.blade.php"

@extends('layouts.app')

@section('title', 'Post')

@section('contents')

    <div class="container">
        <div class="row">
            @foreach ($posts as $post)
                <div class="col-md-4 mb-4">
                    <div class="row">
                        <div class="card mb-4">
                            <div class="card-header">
                                {{ $post->title }}
                            </div>
                            <div class="card-body">
                                {{ $post->body }}
                            </div>
                            <div class="card-footer">
                                {{ $post->created_at->diffForHumans() }}
                            </div>
                        </div>
                    </div>
                </div>
            @endforeach
        </div>
        <div class="d-felx justify-content-center">

            {{ $posts->links() }}

        </div>
    </div>

@endsection

the code I use for PostController

<?php

namespace App\Http\Controllers;

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

class PostsController extends Controller
{
    public function index()
    {
        $posts = Posts::latest()->paginate(6);
        // dd($post);
        return view('post.index', compact('posts'));
    }
}
Habi nata
  • 620
  • 1
  • 4
  • 10

4 Answers4

114

just make sure you have this in your AppServiceProvider.

use Illuminate\Pagination\Paginator;

public function boot()
{
     Paginator::useBootstrap();
}

and you're good to go.

Manoj
  • 1,530
  • 2
  • 13
  • 18
61

I tried doing adding the Paginator::useBootstrap(); in the AppServiceProvider.php but it didn't work.

But this worked:

// Directly in your blade file
$posts->links('pagination::bootstrap-4')
Taylor
  • 2,981
  • 2
  • 29
  • 70
14

First go to the file app\Providers\AppServiceProvider.php and add:

use Illuminate\Pagination\Paginator;

public function boot()
{
    
    Paginator::useBootstrap();
}

Use this after @endforeach in your post.blade.php:

{{ $blogs->links() }}
Laurel
  • 5,965
  • 14
  • 31
  • 57
4

Don't use this way:

$posts->links('pagination::bootstrap-4')in AppServiceProvider.php

Right way :

use Illuminate\Pagination\Paginator;

public function boot()
{
    
    Paginator::useBootstrap();
}

Then in any blade, you want to use pagination like this:

{{ $posts->links() }}