使用 route-helper 将查询参数添加到现有参数
Add query parameter to existing parameters with route-helper
我在我的 Blade 模板文件中使用路由助手 ({{ route('routename') }}
) 来过滤 and/or 对页面结果进行排序。
将参数附加到前面的参数的最简单方法是什么?
举个例子:
我访问页面 /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
.
我使用路由助手创建 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')
我在我的 Blade 模板文件中使用路由助手 ({{ route('routename') }}
) 来过滤 and/or 对页面结果进行排序。
将参数附加到前面的参数的最简单方法是什么?
举个例子:
我访问页面 /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
.
我使用路由助手创建 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')