【问题标题】:PHP Laravel - keep using the passed paramaters in the url for other urls like pagination linksPHP Laravel - 继续将 url 中传递的参数用于其他 url,如分页链接
【发布时间】:2019-01-21 05:57:24
【问题描述】:

我为我的客户列表设置过滤器:

?countries=Germany,France&status=1,3

我有PreviousNext 分页。

以下示例在 Blade 模板中

@if ($paginator->hasPages())
    <ul class="pagination center" role="navigation">
        {{-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            <li class="disabled" aria-disabled="true"><span>@lang('pagination.previous')</span></li>
        @else
            <li><a href="{{ $paginator->previousPageUrl() }}" class="page-link" rel="prev">@lang('pagination.previous')</a></li>
        @endif

        {{-- Next Page Link --}}
        @if ($paginator->hasMorePages())
            <li><a href="{{ $paginator->nextPageUrl() }}"  class="page-link" rel="next">@lang('pagination.next')</a></li>
        @else
            <li class="disabled" aria-disabled="true"><span>@lang('pagination.next')</span></li>
        @endif
    </ul>
@endif

但是,这些链接不包含 url 中的参数。

保存这些过滤器的最佳方式是什么,而不是将其保存到会话或 cookie 中,因为这不应该是这样的?还是应该?

【问题讨论】:

标签: php laravel


【解决方案1】:

试试这个 => $paginator-&gt;appends(request()-&gt;query-&gt;all())-&gt;previousPageUrl();

【讨论】:

  • 如果我只想创建一个 url,例如 url("/people/") 怎么办?我尝试了 url("/people/search/customer", array_merge(request()->all()))}} 并且它使我的参数像 /germany/ 等,而不是通过 params ?countries
  • array_replace(Request::all(), ['countries'=&gt;'germany']) )替换array_merge
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2013-06-14
  • 1970-01-01
  • 2012-03-19
  • 2017-11-22
  • 2015-08-21
相关资源
最近更新 更多