将参数传递给Laravel中的控制器

时间:2014-11-22 09:51:51

标签: php laravel laravel-4

如何将一个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');,我什么也得不到。

2 个答案:

答案 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;
}