我正在考虑一个最好的解决方案,同时一个懒惰的解决方案,过滤收集雄辩的结果在Laravel。我想过滤所有控制器中的$videos集合。不重写控制器,而是把它放在模型中,这是可能的吗?
下面是我的过滤器代码:$videos = $videos->filter(function( $video ){
return $video->isPublished();
});
使用查询范围。你可以从这里学习。在你的例子中,应该是这样的:
class Video extends Eloquent {
public function scopePublished($query)
{
return $query->where('published', '1');
}
}
class VideosController extends BaseController {
public function showPublishedVideos()
{
return View::make('published_videos')
->with('videos', Video::published()->take(10)->get());
}
}