2014-02-07 77 views
0

我有一个电影网站,我希望让人们按流派来搜索输入返回空查询错误

movies.com/people/action/genre

的路线

Route::get('people/{genre}/genre', array('uses' => '[email protected]', 'as' => 'people.genre')); 

演员控制器@类型

public function genre() 
{ 

    $genre=Input::get('genre'); 
     $actors = $this->actor->allgenre($genre); 
      return View::make('Actor.All')->withActors($actors); 

} 

这抓住了所有演员从分区

function allGenre($genre) 
{ 

     return $this->actor->where('genre', 'like', '$genre')->orderBy('views', 'desc')->paginate(24); 

} 

这是一个没有返回结果,当它应该返回的结果,因为如果我去

function allGenre($genre) 
{ 

     return $this->actor->where('genre', 'like', 'action')->orderBy('views', 'desc')->paginate(24); 

} 

结果显示

+0

为什么你把它标记为symfony2? – Pawel

+0

对不起,因为我使用symfony2软件包。 – Stephenmelb

回答

1

当您使用路由,在$类型变量会绑定该控制器:

public function genre($genre) 
{ 
    $actors = $this->actor->allgenre($genre); 
    return View::make('Actor.All')->withActors($actors); 
} 

虽然在previous question你使用查询字符串,那么您甲肾上腺素EDED输入::获得(“密钥”),现在你改变了URL,并且您不使用资源控制器了,所以你必须回到“正常”的方式

+0

嗨Damien感谢分享,但是当我去movies.com/people/action/genre时,它仍然没有返回结果。如何检查$ genre变量是否传递给allgenre函数? – Stephenmelb

+0

我得到它的工作 – Stephenmelb

0

我得到它的工作

function allGenre($genre) 
{ 

    return $this->actor->where('genre', 'like', $genre)->orderBy('views', 'desc')->paginate(24); 

} 

显然Laravel不接受'$流派'与'变量周围