如何将一个get变量传递给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' => 'ProductsController@index'));
...
});
如果我尝试使用q
从控制器中返回Input::get('q');
,我什么也得不到。
答案 0 :(得分:3)
Route::get('/search/{q}', array('as' => 'search', 'uses' => 'ProductsController@index'));
这里的{q}
不是GET变量。
你可以采用这样的价值。
public function index($q)
{
echo $q;
}
答案 1 :(得分:0)
它不是GET参数,而是URL参数。这有点不同。
Url参数将按照它们出现的顺序传递给控制器操作。
所以你需要做的就是使用自动传递给控制器中函数的参数。
public function index($q){
echo $q;
}