在Laravel中groupBy()然后是count()

时间:2015-09-24 23:52:19

标签: mysql laravel-5

我有一张表格,可以访问我的移动应用程序。

列:平台(Android或iOS)和uuid(唯一ID)

现在我想知道有多少用iOS访问的唯一用户。在我的表中是两个iOS记录,但来自同一个uuid。所以正确的结果将是1。

return $data['user']->application->accesses()->where('platform', 'iOS')->groupBy('uuid')->count();

这会返回2,这是错误的。

如果我这样做:

$ios = $data['user']->application->accesses()->where('platform', 'iOS')->groupBy('uuid')->get();
return count($ios);

返回1,这是正确的。

我的第一个查询返回2,我该如何解决?

1 个答案:

答案 0 :(得分:0)

对于您的第二个查询,您计算集合,这只是一个项目。如果你做return $ios->count();,那么很可能你会得到2意思,第一个值是正确的