2013-06-01 76 views
12

我在Laravel 4應用的導航欄中有一個搜索表單。當有人輸入搜索並提交時,我希望查詢只能根據他們所在網站的哪一部分執行。例如,如果他們在博客頁面上,我希望它只返回博客文章,並且如果他們位於用戶頁面上,我希望它僅顯示用戶列表。我可以使用getCurrentRoute() - > getPath()來做到這一點。除非我錯過了一些東西(當然可能是因爲我是Laravel!)。但是我必須從表單中這樣做,因爲當我嘗試在Controller中執行時,它不再有舊的路由。所以,我創建了一個隱藏字段的窗體上像這樣:Laravel 4 - 獲取用於搜索的隱藏輸入的當前路由名稱

{{ Form::hidden('route', '{{{Route::getCurrentRoute()->getPath()}}}') }}; 

然而, 「getCurrentRoute() - >的getPath()」 是從來沒有適當評估。表單字段字面上打印出來:

<input name="route" type="hidden" value="&lt;?php echo e(Route::getCurrentRoute()-&gt;getPath()); ?&gt;"> 

有誰知道一種方式來獲得這個工作,還是有更好的方式來做到這一點,我絕對不缺?同樣,我不能因爲在該點的路線已發送到

// Search 
Route::post('search', array('as' => 'search', 'uses' => '[email protected]'), function(){ 
}); 

此時它始終認爲,路線名稱爲「搜索」插入像正常的控制這一點。

回答

31

試試這個:

{{ Form::hidden('route', Route::getCurrentRoute()->getPath()) }} 

因爲它已經是一個PHP塊內..

+0

是的,這是非常完美的作品。謝謝!它回來了一個/所以我的價值是「/博客」,但這很好,因爲我可以檢查一下,如果說明!謝謝! – user2444007

相關問題