根据按
cost
分组的 Finance
模型计算 month
的总和。
$data1 = Finance::select(
\DB::raw('SUM(cost) as finances_monthly'),
\DB::raw('(unit) as unit'),
\DB::raw("DATE_FORMAT(date,'%M %Y') as months")
)
->where('unit', '=', $unit)
->whereBetween('date', [$start_date, $end_date])
->orderBy('date','asc')
->groupby('months','unit')->get();
根据按
deposite
分组的 Accounting
模型计算 month
的总和。
$data2 = $MonthlyPayments = Accounting::select(
\DB::raw('SUM(deposite) as deposites_monthly'),
\DB::raw('(unit) as unit'),
\DB::raw("DATE_FORMAT(payment_date,'%M %Y') as month")
)
->where('unit', '=', $unit)
->orderBy('created_at','asc')
->whereBetween('payment_date', [$start_date, $end_date])
->groupby('month','unit')->get();
计算
deposite
和 cost
之间的(减去)差异并按 month
分组。
我的问题就在这里。我不知道如何执行特定于月份的减法。
你可以使用 array_diff() 来解决这个问题,但你应该确保两个数组的字段相同;
$data1 = $data1->toArray();
$data2 = $data2->toArray();
$diff_data = array_diff($data1, $data2);