我在Laravel有一个资源我用ArtistsController调用了艺术家。我想为某些页面添加过滤器,但不是全部。我知道我可以为资源控制器中的所有函数/视图添加一个过滤器,如下所示:
public function __construct()
{
$this->beforeFilter('auth', array('except' => array()));
}
如何将beforeAuth过滤器仅添加到某个视图/功能?我希望用户登录以进入“索引”视图,但我希望用户能够在不必登录的情况下转到“显示”页面:
public function index()
{
$artists = Artist::all();
return View::make('artists.index', compact('artists'))
->with('artists', Artist::all())
->with('artists_new', Artist::artists_new());
}
public function show($id)
{
$artist = Artist::find($id);
return View::make('artists.show', compact('artist'))
->with('fans', Fan::all());
}
有办法做到这一点吗?谢谢。
答案 0 :(得分:0)
不确定这是否有帮助,但您可以使用仅键而不是除(如果我理解您的问题)。
$this->beforeFilter('auth', array('only' => array('login', 'foo', 'bar')));
虽然那仍然会在构造函数中。