2014-02-07 55 views
1

我建立这个网站,我想通过URL参数Laravel:缺少参数

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

应该生成所有类型列出的人=动作

这是我的路线

Route::resource(Str::slug(trans('main.people')), '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 为

+0

尝试使用laravel的输入类: 'http:// laravel.com/docs/requests#basic-input' – cecilozaur

+0

嗨Input类在这里只抓取GET/POST数据。如何从URL发送输入? – Stephenmelb

+0

从URL输入'GET' data – cecilozaur

回答

1

查询字符串不传下来的自动控制器的方法ActorController ::指数()缺少参数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变量,我想你是在构造函数中初始化它的?它是一个数据库类,对吗? –

+0

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