如何解决 Laravel 8 UI 分页问题?

47

最近我尝试使用发布的laravel 8,想了解其中的更改和工作原理。在这个过程中,我遇到了paginate laravel 8 UI混乱的问题,不知道如何解决。有没有人可以帮助我?或者有没有人也遇到同样的问题?

这是我在laravel 8中看到的视图 Laravel 8 paginate UI

这是我使用的代码 "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

我在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'));
    }
}

2
你使用的是Tailwind还是Bootstrap? - jewishmoses
1
你有注意到这个升级指南点吗? - Yevgeniy Afanasyev
4个回答

118

只需确保在你的AppServiceProvider中有这个。

use Illuminate\Pagination\Paginator;

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

然后你就可以出发了。


哇!你节省了我大量的时间。谢谢。 - Ariful Islam
这正是我正在寻找的确切答案。 - Ariful Islam
Manoj 先生,非常感谢您。您做得太棒了。Sat Sri Akal 先生。 - Yagnesh bhalala

66

我尝试在AppServiceProvider.php中添加Paginator::useBootstrap();,但它没有起作用。

但这个方法起作用了:

// Directly in your blade file
$posts->links('pagination::bootstrap-4')

它适用于我。 但是我在这个Laravel项目中使用了Bootstrap 5版本。 因此,分页看起来有点奇怪。 http://prntscr.com/1q9hnu8有没有办法使用Bootstrap 5? - ExpertWeblancer
这个完美地运作了。 - Benjamin Ini
有了自定义的分页设计,在 Laravel 8 上可以很好地运行。谢谢分享... - Amir Khan
1
对我也起作用了,尽管使用的是 $posts->links('pagination::bootstrap-5') - Jeremy Belolo

15

首先进入文件 app\Providers\AppServiceProvider.php 并添加:

use Illuminate\Pagination\Paginator;

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

在 post.blade.php 文件中的 @endforeach 后使用此代码:

{{ $blogs->links() }}

你刚才给出了与@manoj几乎一年前相同的答案。 - Alex Angelico

5

不要使用这种方式:

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

正确的方法:

use Illuminate\Pagination\Paginator;

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

然后,在任何一个刀片中,您都可以像这样使用分页:

{{ $posts->links() }}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接