/** * Taxes view */ public function income() { $years = ['Unreceived' => ['projects' => [], 'total' => 0]]; $projects = Project::whereNotNull('closed_at')->where('amount', '>', 0)->orderBy('received_at', 'desc')->orderBy('submitted_at', 'desc')->orderBy('closed_at', 'desc')->get(); foreach ($projects as $project) { $key = $project->received_at ? $project->received_at->format('Y') : 'Unreceived'; if (!isset($years[$key])) { $years[$key] = ['projects' => [], 'total' => 0]; } $years[$key]['total'] += $project->amount; $years[$key]['projects'][] = $project; } if (!count($years['Unreceived'])) { unset($years['Unreceived']); } return view('project.income', compact('years')); }