对关系表进行除法后,求和属性

时间:2019-03-29 12:11:58

标签: laravel aggregate laravel-5.6 laravel-query-builder

对不起,我想不出合适的头衔。 情况如下:

我有两个表:montagesorders,其中Montage属于Order。 我的目标是建立一个mysql查询,该查询返回一个float值来表示多个蒙太奇值的总和。对于查询中的每个蒙太奇,我需要将其订单的预算除以属于同一订单的蒙太奇数量。这种划分的结果应该是ecah蒙太奇的属性。最后,我想对这些属性求和并检索单个值。

我已经尝试了很多类似以下内容的变体,但是似乎都没有用正确的语法编写,所以我不断出错:

$sum = App\Montage::where(/*this doesn't matter*/)
->join('orders', 'montages.order_id', '=', 'orders.id') //join the orders table
->select('montages.*, orders.budget') //include the budget column
->selectRaw('count(* where order_id = order_id) as all') //count all the montages of the same order and assing that count to the current montage
->selectRaw('(orders.budget / all) as daily_payment') //divide the budget of the order by the count; store the result as `daily_payment`
->sum('daily_payment') //sum the daily payments

我真的迷失了正确的语法,无法弄清楚。我估计对于知道他们的知识的人来说,这是一件相当琐碎的sql任务,但是不幸的是,我似乎并不是其中的一员……非常感谢您的帮助!

0 个答案:

没有答案