Laravel雄辩groupBy()AND也返回每个组的计数

我有一个表格,其中包含一列浏览器版本。 我只是想从logging集中知道每种types的浏览器有多less。 所以,我需要结束这样的事情:总logging:10; Internet Explorer 8:2; 铬25:4; Firefox 20:4.(全部加起来10)

这是我的两个便士:

$user_info = Usermeta::groupBy('browser')->get(); 

当然,这只包含3个浏览器,而不是每个浏览器的数量。 我该怎么做?

这对我有用:

 $user_info = DB::table('usermetas') ->select('browser', DB::raw('count(*) as total')) ->groupBy('browser') ->get(); 

这适用于我(Laravel 5.1):

 $user_info = Usermeta::groupBy('browser')->select('browser', DB::raw('count(*) as total'))->get(); 

谢谢Antonio,

我刚刚在末尾添加了lists命令,所以它只会返回一个键和数组的数组:

Laravel 4

 $user_info = DB::table('usermetas') ->select('browser', DB::raw('count(*) as total')) ->groupBy('browser') ->lists('total','browser'); 

Laravel 5.1

 $user_info = DB::table('usermetas') ->select('browser', DB::raw('count(*) as total')) ->groupBy('browser') ->lists('total','browser')->all(); 

也是这样工作的,稍微整齐些。 getQuery()只返回已经包含表引用的底层构build器。

 $browser_total_raw = DB::raw('count(*) as total'); $user_info = Usermeta::getQuery() ->select('browser', $browser_total_raw) ->groupBy('browser') ->pluck('total','browser');