簡體   English   中英

Laravel中過濾集合的最佳方法是什么?

[英]What is the best way to filter collection in Laravel?

我在考慮最好的解決方案,同時在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());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM