Php Laravel ORM count()无法与groupBy()正常工作

Php Laravel ORM count()无法与groupBy()正常工作,php,laravel,eloquent,laravel-5.2,query-builder,Php,Laravel,Eloquent,Laravel 5.2,Query Builder,我想在我的数据库中计算城市所有者的数量。城市表类似于此结构: (int) id | (int) player_id | (int) game_id 我有modelCity并尝试执行下一个代码: \App\City::where('game_id', $game_id) // $game_id was delivered earlier ->groupBy('player_id') ->count() 此代码返回值3。这是错误的值,因此我从DB:

我想在我的数据库中计算城市所有者的数量。城市表类似于此结构:

(int) id | (int) player_id | (int) game_id
我有model
City
并尝试执行下一个代码:

\App\City::where('game_id', $game_id) // $game_id was delivered earlier
         ->groupBy('player_id')
         ->count()
此代码返回值3。这是错误的值,因此我从
DB::getQueryLog()
获取代码。下一个问题是:

select count(*) as aggregate from `cities` where `game_id` = ? and `cities`.`deleted_at` is null group by `player_id`
当我在PMA中执行此查询时,我得到2(有效值)

我不知道为什么我的代码不起作用。我也试着不执行
count()
,而是执行
count('player_id')
——也不起作用


这很奇怪,但是当我使用
get()
方法时,我有2的集合对象。我错了什么?

城市
已删除
处的\u为空,可以。你能在=''处删除吗?@Plum我没有任何solf deleted对象,所以这个查询的结果是0行:)你有没有尝试过完整的查询,比如db->query(“select…”),而没有使用缩写->where()->groupby()等…@Plum当我执行
\db::select('..)
这个方法返回一个数组,类似这样:
[{”count(*)“:1},{“count(*)”:2}]
1。在您显示的架构中没有
player\u id
。2.您是否可以发布表中的数据,这些数据应该会导致有效的结果?