用 Eloquent 中的平均值组成一个 groupby 记录

Compose a groupby record with avg in Eloquent

我有这个 SQL 查询: SELECT *, AVG(value) as avg FROM users_has_project GROUP BY project_id 我已经通过以下方式在 Eloquent 中进行了翻译:

Vote::select('AVG(value) as avg')->groupBy('project_id')->get();

但我收到以下错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'AVG(value)' in 'field list' (SQL: select AVG(value) as avg from users_has_project group by project_id)

尝试对聚合使用原始查询:

Vote::selectRaw('AVG(value) as avg')->groupBy('project_id')->get();

@DigitalDrifter 的回答只是一个微小的改进:

Vote::selectRaw('project_id, AVG(value) as avg')->groupBy('project_id')->get();