【问题标题】:Pagination like (Items per page: 25|50|75|100) in laravellaravel 中的分页(每页项目数:25|50|75|100)
【发布时间】:2019-01-14 20:48:42
【问题描述】:

如何在网页上显示指定数量的记录?

喜欢:每页的项目数:25 | 50 | 75 |100 如果我选择 25 则应显示 25 条记录.. 我想在 laravel 5.5 中使用这个 .. 有人能帮帮我吗?

【问题讨论】:

  • 只需将每页的项目数传递给分页方法,例如->paginate(75)Pagination Docs 对此非常清楚。
  • 但我想要这个,->(每页项目数:25 | 50 | 75 |100)在我的 index.blade.php 和页面控制器的索引函数中查看
  • 通过请求查询字符串发送号码。例如:yourapp.com/users?perPage=100 并在您的控制器操作中从请求 Users::paginate(request()->get('perPage', 25); 中获取它。这将从请求中获取100 值,如果没有传递perPage 参数,则默认为25。您可能还希望将请求注入您的控制器操作方法(不使用 request() 帮助器),为此您可能需要阅读 HTTP Requests Docs
  • 但是我应该在 index.blade.php 中做什么?我应该使用任何 if else 吗?
  • 您提供的当前代码外观的上下文非常少,因此您可能需要编辑您的问题以包含您当前的代码,以便我们提供更准确的建议。

标签: laravel laravel-5 pagination laravel-5.5


【解决方案1】:

在 Laravel 5.7 之前,每个页面都没有默认功能。因此,您需要添加一些自定义功能。

在您对记录进行分页时使用 get 参数,如下所示:

public function get_users(Request $request) {
    return view('users', Users::paginate($request->get('per_page', 25)));
}

并从视图中发送per_page 参数。

有几种方法可以从视图中发送per_page 参数。

我为此使用 LaravelCollective 5.4 https://laravelcollective.com/docs/5.4/html#drop-down-lists:

{!! Form::open([ 'url' => route('users'), 'method' => 'get' ]) !!}
    {!! Form::select( 'per_page', [ '25' => '25', '50' => '50', '75' => '75', '100' => '100'], '25', array('onchange' => "submit()") ) !!}
{!! Form::close() !!}

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 2014-12-29
    • 2013-06-21
    • 1970-01-01
    • 2020-04-29
    相关资源
    最近更新 更多