输入错误地返回空查询

时间:2014-02-07 08:27:24

标签: php laravel

我有一个电影网站,我想让人们按流派搜索

movies.com/people/action/genre

路线

Route::get('people/{genre}/genre', array('uses' => 'ActorController@genre', 'as' => 'people.genre'));

ActorController @ genre

public function genre()
{

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

}

这会抓住db

中的所有参与者
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);

}

结果显示

2 个答案:

答案 0 :(得分:1)

当您使用该路由时,$ genre变量将绑定到控制器:

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

previous question中你使用了查询字符串,所以你需要输入:: get('key'),现在你改变了网址,你不再使用资源控制器,所以你必须回去以“通常”的方式

答案 1 :(得分:0)

我得到了它的工作

function allGenre($genre)
{

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

}

显然Laravel不接受带有'围​​绕变量

的'$ genre'