Laravel 分页链接()不起作用

Luk*_*s J 3 php pagination laravel

在我的控制器中执行此操作后

   $activities = Package::where('attraction',1)
              ->where('hotel', 0)
              ->where('flight', 0)
              ->paginate(2);
          return view('frontend.activities',compact('activities'));
Run Code Online (Sandbox Code Playgroud)

我以这种格式在刀片页面上添加了 for

@foreach($activities as $activity)
                    <div class="col-md-3 page-content-1">
                        <div class="thumb">
                            <header class="thumb-header">
                                <a class="hover-img" href="{{url('/flight-details')}}">
                                    <img src="img/new_york_at_an_angle_800x600.jpg" alt="Image Alternative text" title="new york at an angle" />
                                    <h5 class="hover-title-center">Book Now</h5>
                                </a>
                            </header>
                            <div class="thumb-caption">
                                <ul class="icon-group text-tiny text-color">
                                    <li><i class="fa fa-star"></i>
                                    </li>
                                    <li><i class="fa fa-star"></i>
                                    </li>
                                    <li><i class="fa fa-star"></i>
                                    </li>
                                    <li><i class="fa fa-star"></i>
                                    </li>
                                    <li><i class="fa fa-star"></i>
                                    </li>
                                </ul>
                                <h5 class="thumb-title"><a class="text-darken" href="{{url('/flight-details')}}">Manhattan Skyline</a></h5>
                                <p class="mb0"><small><i class="fa fa-map-marker"></i> Queens (LaGuardia Airport (LGA))</small>
                                </p>
                                <p class="mb0 text-darken"><span class="text-lg lh1em text-color"><small >from</small> Free</span>
                                </p>
                            </div>
                        </div>
                    </div>
                    @endforeach
Run Code Online (Sandbox Code Playgroud)

然后我{{ $activities->links() }}在页面上添加。每当呈现视图时, links() 不会显示页面的链接。我是不是遗漏了什么,或者我做错了什么

PS:我也试过{{$activities->render()}},也没用。

bal*_*gan 12

在“@endforeach”语句后添加以下行

{{ $activities->links('pagination::bootstrap-4') }}
Run Code Online (Sandbox Code Playgroud)

如果使用 bulma css 而不是 bootstrap 4,请自定义分页视图。

将以下“ bulma.blade.php ”文件保存在路径“resources/views/vendor/pagination”中

如果文件夹供应商不存在于视图文件夹中,只需创建它或运行以下命令

php artisan vendor:publish --tag=laravel-pagination
Run Code Online (Sandbox Code Playgroud)

bulma.blade.php

@if ($paginator->hasPages())
    <nav class="pagination is-centered" role="navigation" aria-label="pagination">
        {{-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            <a class="pagination-previous"  disabled>Previous</a>
        @else
            <a class="pagination-previous" href="{{ $paginator->previousPageUrl() }}" rel="prev">Previous</a>
        @endif

        <ul class="pagination-list">
            {{-- Pagination Elements --}}
            @foreach ($elements as $element)
                {{-- "Three Dots" Separator --}}
                @if (is_string($element))
                    <li><span class="pagination-ellipsis">{{ $element }}</span></li>
                @endif

                {{-- Array Of Links --}}
                @if (is_array($element))
                    @foreach ($element as $page => $url)
                        @if ($page == $paginator->currentPage())
                            <li><span class="pagination-link is-current">{{ $page }}</span></li>
                        @else
                            <li><a href="{{ $url }}" class="pagination-link">{{ $page }}</a></li>
                        @endif
                    @endforeach
                @endif
            @endforeach
        </ul>

    {{-- Next Page Link --}}
    @if ($paginator->hasMorePages())
        <a class="pagination-next" href="{{ $paginator->nextPageUrl() }}" rel="next">Next page</a>
    @else
        <a class="pagination-next" disabled>Next page</a>
    @endif
@endif
Run Code Online (Sandbox Code Playgroud)

在“@endforeach”语句后添加以下行

{{ $activities->links('vendor.pagination.bulma') }}
Run Code Online (Sandbox Code Playgroud)


Ale*_*nin 5

在 Laravel 5.5 中,如果Paginator对象只有一页,则不会显示分页链接。

如果您无论如何都想显示这些链接,则需要自定义分页视图

1.运行此命令将分页视图复制到resources/views/vendor/pagination

php artisan vendor:publish --tag=laravel-pagination
Run Code Online (Sandbox Code Playgroud)

2.编辑resources/views/vendor/pagination/default.blade.php.

更改第一行:

@if ($paginator->hasPages())
Run Code Online (Sandbox Code Playgroud)

到:

@if ($paginator->count > 0)
Run Code Online (Sandbox Code Playgroud)