2014-02-07 3 views
1

Я строю этот сайт и я хочу передать параметры URLLaravel: Отсутствует аргумент

http://movies.com/people?genre=action

должны генерировать все люди, перечисленные с жанром = действие

Это мой маршрут

Route::resource(Str::slug(trans('main.people')), 'ActorController'); 

Это мой ActorController

public function index($input) 
{ 

if (isset($input['genre']) && $input['genre'] != 'all') 
    { 
     return $this->actor->where('genre', 'like', '$input'); 

     return View::make('Actor.All')->withActors($actors); 
    } 
    else 
    { 

     return View::make('Actor.All')->withActors($actors); 
} 
} 

Я постоянно получаю эту ошибку ErrorException Отсутствующий аргумент 1 для ActorController :: индекс()

+0

попробуйте использовать класс ввода laravel: 'http: // laravel.com/docs/requests # basic-input' – cecilozaur

+0

Привет, класс ввода здесь только захватывает данные GET/POST. Как отправить вход с URL-адреса? – Stephenmelb

+0

вход с URL-адреса - данные 'GET' – cecilozaur

ответ

1

строки запроса не передаются автоматически методу контроллера, вам нужно получить их вручную:

public function index() 
{ 
    if(Input::has('genre') && Input::get('genre') != 'all') { 
    $this->actor->where('genre', 'like', Input::get('genre')); 

    } 
    return View::make('Actor.all')->withActors($this->actor); 
} 
+0

Привет, я думаю, что он передает переменную, но теперь я получаю вызов неопределенного метода Lib \ Repository \ Actor \ DbActor :: where() – Stephenmelb

+0

Потому что я только угадываю, откуда вы берете эту переменную $ actor, я полагаю, вы инициализируете ее в конструкторе? Это класс DB, правильно? –

+0

public function __construct (DbActor $ actor, ActorValidator $ validator, Опции $ options) \t { \t \t $ this-> actor = $ actor; \t \t $ this-> options = $ options; \t \t $ this-> validator = $ validator; \t} – Stephenmelb

Смежные вопросы