从分组的Eloquent集合中获取确切的帖子数

时间:2018-01-24 10:55:41

标签: sql laravel laravel-5 eloquent laravel-eloquent

我有两张桌子,'视频'和'类别'。在我的VideoController文件中,我创建了一个私有函数

config.extraPlugins ='imageuploader';
config.extraPlugins ='imagebrowser';
config.filebrowserBrowseUrl ='/imagesNew';
config.filebrowserImageBrowseUrl ='/imagesNew';
config.filebrowserUploadUrl ='/imagesNew';
config.filebrowserImageUploadUrl ='/imagesNew';

在我的情况下,这给我一个集合,有两组:

private function getHomePageVideos($lang = 'en')
{
    return \DB::table('videos')
    ->leftJoin('categories', 'categories.id','=','videos.category_id')
    ->select('videos.*', 'categories.title_' . $lang . ' as category', 'categories.slug as category_slug')
    ->get()->groupBy('category');
}

我需要从每组中只获得3个帖子。

我试过'take(3)',但是消费者对于类别(我的项目中有2个),而不是帖子。

提前致谢

1 个答案:

答案 0 :(得分:0)

试试这个: -

<pre>
   private function getHomePageVideos($lang = 'en'){
    return \DB::table('videos')
    ->leftJoin('categories', 'categories.id','=','videos.category_id')
    ->select('videos.*', 'categories.title_' . $lang . ' as category', 
    'categories.slug as category_slug')
    ->groupBy('category')->take(3);
   }

</pre>