2015-05-23 36 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