如何计算Laravel中包含三个不同值的列



嗨,伙计们,我有一个问题,我想计算一个有3个值的列,该列是它接受的结果,被拒绝和挂起,我想在三张卡上计算它们中的每一个,有没有办法,所以我使用laravel 8 btw感谢您的任何提示

{{App\Models\studie::where(['consiconpinion'=>'rejected'](->get((->count((}}这是我从您的解释中得到的

通常,您可以使用某种条件聚合。下面是一个应该可以工作的原始MySQL查询:

SELECT grp,
SUM(col = 'accepted') AS num_accepted,
SUM(col = 'refused')  AS num_refused,
SUM(col = 'pending')  AS num_pending
FROM yourTable
GROUP BY grp;
YourModel::groupBy('col')
->selectRaw("SUM(`col` LIKE 'value1') as value1, SUM(`col` LIKE 'value2') as value2, SUM(`col` LIKE 'value3') as value3")
->get();

SUM中,您可以编写任何条件。

最新更新