0
我在思考一個最好的解決方案,同時在拉羅維爾的一個懶惰的解決方案過濾集合的雄辯結果。我想過濾我所有控制器中的所有$視頻集合。有可能在不重寫控制器的情況下將其放入模型中?在Laravel中過濾收集的最佳方式是什麼?
這裏是我的過濾器代碼:
$videos = $videos->filter(function($video){
return $video->isPublished();
});
我在思考一個最好的解決方案,同時在拉羅維爾的一個懶惰的解決方案過濾集合的雄辯結果。我想過濾我所有控制器中的所有$視頻集合。有可能在不重寫控制器的情況下將其放入模型中?在Laravel中過濾收集的最佳方式是什麼?
這裏是我的過濾器代碼:
$videos = $videos->filter(function($video){
return $video->isPublished();
});
使用的查詢範圍。你可以從here中學習。在你的情況下,它會是這樣的:
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());
}
}
我認爲我最好的卡是在所有的查詢中添加一個作用域。 –
'isPublished()'做了什麼?數據庫中的簡單布爾列還是更復雜的東西? – Unnawut