2014-11-22 58 views
0

如何將一個get變量傳遞給Laravel中的控制器?將參數傳遞給Laravel中的控制器

我:

$languages = array('zh'); 
$locale = Request::segment(1); 
if (in_array($locale, $languages)) { 
    App::setLocale($locale); 
} else { 
    $locale = null; 
} 
Route::group(array('prefix' => $locale), function() { 
    ... 
    Route::get('/search/{q}', array('as' => 'search', 'uses' => '[email protected]')); 
    ... 
}); 

如果我嘗試使用Input::get('q');我什麼也得不到控制器內返回q

+0

請參閱本http://stackoverflow.com/questions/27012994/laravel-how-to-isset-get/27013133#27013133 – 2014-11-22 09:57:38

+0

你可以試試這個代碼來讀取查詢字符串$位置值=請求:: query('q',false); – 2014-11-22 10:01:22

回答

0

這不是一個GET參數,而是一個URL參數。這有一點區別。

Url參數將按照它們出現的順序傳遞給控制器​​操作。

所以你所要做的就是使用自動傳遞給控制器​​中函數的參數。

public function index($q){ 
    echo $q; 
} 
3
Route::get('/search/{q}', array('as' => 'search', 'uses' => '[email protected]')); 

{q}這裏是拿不到變量。

你可以採取這樣的價值。

public function index($q) 
{ 
    echo $q; 
} 
相關問題