groupBy(function ($invoice) { return $invoice->created_at->format('Y'); }) ->map(function ($year) { return $year->sum('sum'); }); $yearly_incoming = Incoming::all() ->groupBy(function ($incoming) { return Carbon::parse($incoming->pay_date)->format('Y'); }) ->map(function ($year) { return $year->sum('net'); }); $diff_invoices = $yearly_invoices->diffKeys($yearly_incoming); foreach ($diff_invoices as $year => $invoices) { $yearly_incoming[$year] = 0; } $diff_incoming = $yearly_incoming->diffKeys($yearly_invoices); foreach ($diff_incoming as $year => $invoices) { $yearly_invoices[$year] = 0; } $view->with(['yearly_invoices' => $yearly_invoices, 'yearly_incoming' => $yearly_incoming]); } }