Ejemplo n.º 1
0
 public function getExportbackerlists()
 {
     $excelnm = "backers_list_" . date("d-m-Y");
     Excel::create($excelnm, function ($excel) {
         $excel->sheet('Project', function ($sheet) {
             $liveProjects = array();
             $authId = Auth::user()->id;
             $my_live_projects = Project::where('user_id', $authId)->where('active', '1')->where('live', '1')->orderBy('created_at', 'desc')->get();
             foreach ($my_live_projects as $val) {
                 $liveProjects[] = $val->id;
             }
             $listOfBackers = \App\Models\ProjectFund::whereIn('P_ID', $liveProjects)->orderBy('created_at', 'desc')->groupBy('U_ID')->get();
             if (count($listOfBackers) > 0) {
                 $cnt = 0;
                 foreach ($listOfBackers as $val) {
                     $arr[$cnt]['backed_amount'] = \App\Models\ProjectFund::where('P_ID', $val->P_ID)->where('U_ID', $val->U_ID)->orderBy('created_at', 'desc')->sum('paid_amount');
                     $arr[$cnt]['backer_name'] = $val->user()->first()->name;
                     $arr[$cnt]['project_name'] = $val->project()->first()->name;
                     $cnt++;
                 }
             }
             $dataArr = array();
             if (is_array($arr) && count($arr) > 0) {
                 $counter = 0;
                 foreach ($arr as $kyy => $dataval) {
                     $dataArr[$counter]['Sl'] = $counter + 1;
                     $dataArr[$counter]['Backer Name'] = $dataval['backer_name'];
                     $dataArr[$counter]['Backed Amount($)'] = $dataval['backed_amount'];
                     $dataArr[$counter]['Project Name'] = $dataval['project_name'];
                     $counter++;
                 }
             }
             /* setting column names for data - you can of course set it manually */
             $sheet->appendRow(array_keys($dataArr[0]));
             /* column names */
             /* getting last row number (the one we already filled and setting it to bold */
             $sheet->row($sheet->getHighestRow(), function ($row) {
                 $row->setFontWeight('bold');
             });
             /* putting users data as next rows */
             foreach ($dataArr as $user) {
                 $sheet->appendRow($user);
             }
         });
     })->export('xls');
 }