public function exportExcel() { if (Gate::denies('download', Household::class)) { abort(403); } $records = Household::join('families', 'households.id', '=', 'families.household_id')->join('persons', 'families.id', '=', 'persons.family_id')->select(['households.household_code', \DB::raw("CONCAT(persons.last_name, ', ', persons.first_name) as 'household_head'"), 'households.barangay', 'households.zone'])->where('persons.relationship', '=', 'Head of the household'); if (\Auth::user()->group->assigned_barangay != 'All') { $records = $records->where('households.barangay', '=', \Auth::user()->group->assigned_barangay); } $records = $records->orderBy('households.household_code', 'asc')->get(); $recordsArray = []; $recordsArray[] = ['household_code', 'household_head', 'barangay', 'zone']; foreach ($records as $record) { $recordsArray[] = $record->toArray(); } $now = Carbon::now('Asia/Manila'); $file_name = 'arp_households_' . $now->format('Ymd_His'); Excel::create($file_name, function ($excel) use($recordsArray) { $excel->setTitle('ARP Households'); $excel->setDescription('List of ARP Households'); $excel->sheet('Households', function ($sheet) use($recordsArray) { $sheet->fromArray($recordsArray, null, 'A1', false, false); }); })->download('xlsx'); }