按查询分组 Laravel

Group by query Laravel

我有两个模型,卡片和风险

卡片有以下列:

1. id
2. weight
3. color  //There are four types of colors, green, red, yellow, blue

风险有以下几点:

1. id
2. name
3. description
4. card_id

我想实现的是统计有多少风险,按颜色分组,例如:

'color' => 'green'
'count' => '4'

'color' => 'blue'
'count' => '2'

'color' => 'red'
'count' => '6'

到目前为止,我无法使用 Eloquent 进行此查询,也许某些 DB::raw 可以提供帮助?

如有任何帮助,我们将不胜感激

Risk::select('card.name', DB::raw('count(risks.card_id)'))
->rightJoin('cards', 'card.id', '=', 'risks.card_id')
->groupBy('risks.card_id')
->get();