使用route-helper将查询参数添加到现有参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用route-helper将查询参数添加到现有参数相关的知识,希望对你有一定的参考价值。

我在我的Blade模板文件中使用route-helper({{ route('routename') }})来过滤和/或排序页面的结果。

将参数附加到先前参数的最简单方法是什么?

举个例子:

我访问页面/category1并看到一些产品。现在我使用排序将URL更改为/category1?sort_by=title&sort_order=asc

如果我现在使用另一个过滤,我希望将参数附加到当前的过滤器。所以对/category1?sort_by=title&sort_order=asc&filter_by=year&year=2017但结果只有/category1?filter_by=year&year=2017

我使用route-helper创建了Urls,如:

route('category.show', [$category, 'sort_by' => 'title', 'sort_order' => 'asc'])
route('category.show', [$category, 'filter_by' => 'year', 'year' => $year])
答案

你可以使用类似的东西:

$new_parameters = ['filter_by' => 'year', 'year' => $year];

route('category.show', array_merge([$category], request()->all(), $new_parameters]);

使用所有以前的参数并添加新参数。

显然你可能只想使用其中的一些,而不是:

request()->all()

您可以使用:

request()->only('sort_by', 'sort_order', 'filter_by', 'year')

以上是关于使用route-helper将查询参数添加到现有参数的主要内容,如果未能解决你的问题,请参考以下文章

如何将查询参数附加到现有 URL?

Rails 将除法计算添加到现有查询

使用 iText 将命名目的地添加到现有 PDF 文档

深入理解带参方法-----对象作为参数的方法

SQL Server 将自动增量主键添加到现有表

MariaDB 将列动态添加到现有表