Example #1
0
 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');
 }