2014-02-07 119 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