PHP Laravel - 继续将 url 中传递的参数用于其他 url,如分页链接

Posted

技术标签:

【中文标题】PHP Laravel - 继续将 url 中传递的参数用于其他 url,如分页链接【英文标题】:PHP Laravel - keep using the passed paramaters in the url for other urls like pagination links 【发布时间】: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 中,因为这不应该是这样的?还是应该?

【问题讨论】:

***.com/questions/17159273/… 的可能重复项? 【参考方案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

以上是关于PHP Laravel - 继续将 url 中传递的参数用于其他 url,如分页链接的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 将 url 参数从控制器传递到路由

Laravel如何将变量从选择框传递到url?

Laravel + Vue - 将多维 PHP 数组传递给 vue 组件

将全局变量从当前 url 传递给 laravel 组路由

我可以将刀片变量传递给 Laravel 中的 php 变量吗?

如何将数据从 laravel 传递到 Vue Router?