2014-11-22 3 views
0

Как передать переменную get в контроллер в Laravel?Pass получить параметр для контроллера в 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]')); 
    ... 
}); 

Если я пытаюсь вернуть q внутри контроллера с помощью Input::get('q'); я ничего не получаю.

+0

Pls передать этот http://stackoverflow.com/questions/27012994/laravel-how-to-isset-get/27013133#27013133 –

+0

Вы можете попробовать этот код для чтения значения из строки запроса $ расположения = Запрос :: query ('q', false); –

ответ

0

Это не параметр GET, а параметр URL. В этом есть небольшая разница.

URL-адреса будут переданы (в порядке их появления) на действие контроллера.

Итак, все, что вам нужно сделать, это использовать аргумент, который автоматически передается функции в контроллере.

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

{q} здесь не GET переменной.

Вы можете принять такое значение.

public function index($q) 
{ 
    echo $q; 
}