2015-05-23 17 views
0

说我有一个url:www.site.com/search?category=1 & sub_category_id = 1使用参数Laravel链路,而更新某些现有PARAMS

在该页面显示的结果我有联系的细化如:

<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> 

问题是,它只是让另一个& sub_category_id =#每次...当我真正想要更新追加。谷歌搜索,直到永远,我觉得这几乎是我所需要的:这里

{!! link_to_action('[email protected]', 'Sub Cat 1', Input::all()) !!} 

的问题是如何“更新”现有sub_category_id ...尝试输入::合并,但不发送所有的输出除了到我的合并。

我的理想的方法是以某种方式对这个(我想链接到网址无法控制器):

{!! HTML::link('/search', 'Sub Category 1", Input::all()->merge(['sub_category_id' => 1')) !!}

在Laravel分页我们可以做->appends(Input::except('page'))希望也许有可能补充说,以某种方式进入链接场景?

但Laravel不工作,这样不行,有什么想法?我会链接到我的链接(如果可能)做所有这些,而不是创建一个函数来获取所有的参数更新,然后放回到一个url ...谢谢

回答

1

在Laravel 5你有Request门面在Laravel 4中使用Input)。所以你可以通过很多方式阅读documentation来实现这件事。最简单的一条线解决方案将让所有除sub_category_id输入paremeters,然后只是追加你:

{!! link_to_action('[email protected]', 'Sub Cat 1', 'Test', array_merge(Request::except(['sub_category_id']), ['sub_category_id' => 1]))) !!} 
+0

问题,不会那么我的链接{! link_to_action('SearchController @ search','Sub Cat 2','Cat 2',Request :: all()))!!}去sub_category_id 1以及它应该去2?这是我所处的问题,我只想重发相同的参数,但通过链接进行更新。 – sprintcar78a

+0

@ sprintcar78a是的,那是对的,你应该做你想改变'sub_category_id'的mergethimethime。这与你每次都必须传递不同的数组是一样的。我已经更新了我的答案。 – shaddy

+0

好的真棒,(抱歉没想到最初在每个链接之前添加) - 它正在工作。是否有可能通过另一个函数使用实际的URL来执行此操作,并追加“/ search”,Request :: all()而不是必须使用控制器?真的不重要,但感觉它对我来说更容易。 – sprintcar78a