【发布时间】:2021-04-16 21:37:55
【问题描述】:
我是 Laravel 和 Eloquent 新手。
我正在尝试将旧应用程序移植到 Laravel。
现在我想将以下 RAW SQL 查询转换为 Eloquent:
SELECT COUNT(county_id) AS qt_counties,
SUM(population) AS total_population
FROM population_county
WHERE population >= 5000
AND population < 10000
AND year = "2020"
GROUP BY year
我面临的问题是我不知道如何编写一个同时返回两个聚合的 Eloquent 查询。
我试过了
$qt = PopulationCounty::where('year', $year)
->where('population', '>=', $min)
->where('population', '<', $max)
->distinct('county_id')
->sum('population');
但它只返回一个聚合。
它可以作为 Eloquent 查询完成,还是我应该在 Eloquent 中使用某种“RAW 查询”支持?
【问题讨论】: