说我有一个网址:www.site.com/search?category = 1& sub_category_id = 1
在显示结果的页面上,我有精炼的链接,如:
<a href="{!! $_SERVER['REQUEST_URI'] !!}&sub_category_id=1">Category 1</a>
<a href="{!! $_SERVER['REQUEST_URI'] !!}&sub_category_id=2">Category 2</a>
<a href="{!! $_SERVER['REQUEST_URI'] !!}&sub_category_id=3">Category 3</a>
<a href="{!! $_SERVER['REQUEST_URI'] !!}&sub_category_id=4">Category 4</a>
问题是它每次只是继续追加另一个&amp; sub_category_id =#...当我真的希望它更新时。谷歌搜索我发现这几乎是我需要的东西:
{!! link_to_action('SearchController@search', 'Sub Cat 1', Input::all()) !!}
这里的问题是如何“更新”现有的sub_category_id ...尝试输入::合并但除了我的合并之外不会发送所有输出。
我理想的方法是以某种方式(因为我想链接到URL而不是控制器):
{!! HTML::link('/search', 'Sub Category 1", Input::all()->merge(['sub_category_id' => 1')) !!}
在Laravel分页中我们可以做->appends(Input::except('page'))
希望有可能以某种方式将其添加到链接场景中吗?
但是Laravel不起作用,不起作用,任何想法?我链接在我的链接中做所有这些(如果可能的话)而不是创建一个函数来获取所有params更新然后放回到一个URL ...谢谢
答案 0 :(得分:1)
在Laravel 5中,你有Request
门面(在Laravel 4中使用Input
)。因此,您可以通过多种方式阅读{{3}}来实现这一目标。最简单的一行解决方案是获取除sub_category_id
之外的所有输入参数,然后只需追加你的:
{!! link_to_action('SearchController@search', 'Sub Cat 1', 'Test', array_merge(Request::except(['sub_category_id']), ['sub_category_id' => 1]))) !!}