Laravel 5.7分页不起作用,每次显示相同的数据

时间:2018-12-17 23:31:32

标签: php laravel pagination laravel-5.7

我用5.7版创建了Laravel应用程序,并且我也有一个Laravel租赁设置。这是我的控制器:

public function index()
    {
        $admins = SystemAdmin::latest()->paginate(1);
        return view('my.admin.settings.admins.index', compact('admins'));
    }

以及我在分页链接所在的视图上的代码(刀片):

<div class="row">
          <div class="col">
                    <div class="pagination center">
                           {{ $admins->links() }}
                    </div>
           </div>
 </div>

显示分页,但是当我单击链接时,它会重定向到页面,其中URL栏显示的是?page = 2或3,无论我单击什么,但1值仍突出显示为“活动”,而lastest()值为我叫,是唯一显示的,因为我一次只分页1。

UPDATE :::::

我dd(){{$ admins-> links()}},这就是我得到的:

HtmlString {#368 ▼
  #html: """
    <ul class="pagination" role="navigation">

                        <li class="page-item disabled" aria-disabled="true" aria-label="&laquo; Previous">
                    <span class="page-link" aria-hidden="true">&lsaquo;</span>
                </li>





                                                                            <li class="page-item active" aria-current="page"><span class="page-link">1</span></li>
                                                                                    <li class="page-item"><a class="page-link" href="https://my.distincttrack.com/ad ▶
                                                                                    <li class="page-item"><a class="page-link" href="https://my.distincttrack.com/ad ▶
                                                                                    <li class="page-item"><a class="page-link" href="https://my.distincttrack.com/ad ▶


                        <li class="page-item">
                    <a class="page-link" href="https://my.distincttrack.com/admin/settings/admins?page=2" rel="next" aria-label="Next &raquo;">&rsaquo;</a>
                </li>
                </ul>
    """
}

3 个答案:

答案 0 :(得分:1)

也许是由于latest()方法的缘故,它总是返回最后一个。

使用此:

$admins = SystemAdmin::orderBy('created_at','desc')->paginate(1);

答案 1 :(得分:0)

这有帮助吗?

    $admins = SystemAdmin::latest()->paginate(1);
    return view('my.admin.settings.admins.index')->with('admins', $admins');

答案 2 :(得分:0)

检查您的控制器中是否正在获取查询字符串参数:

$request->query('page');

如果不是,则可能是由于nginx(或apache)从url中删除了查询字符串参数。 Nginx的default.conf可以包含:

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}