File manager - Edit - /var/www/payraty/hris/app/Exports/EmployeesExport.php
Back
<?php namespace App\Exports; use App\Models\Branch; use App\Models\Department; use App\Models\Designation; use App\Models\Employee; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; use Illuminate\Support\Facades\Log; class EmployeesExport implements FromCollection, WithHeadings { /** * @return \Illuminate\Support\Collection */ public function collection() { return Employee::with(['user.profile', 'user.jobInfo', 'user.bankInfo'])->get()->map(function ($employee) { $profile = $employee->user->profile ?? null; $jobInfo = $employee->user->jobInfo ?? null; $bankInfo = $employee->user->bankInfo ?? null; return [ 'Employee ID' => $employee->user->id ?? '', // Profile 'First Name' => $profile->first_name ?? '', 'Last Name' => $profile->last_name ?? '', 'Middle Name' => $profile->middle_name ?? '', 'Gender' => $profile->gender ?? '', 'DOB' => $profile->dob ?? '', 'Work Phone' => $profile->work_phone ?? '', 'Mobile Phone' => $profile->mobile_phone ?? '', 'Work Email' => $profile->work_email ?? '', 'Personal Email' => $profile->personal_email ?? '', 'Address' => $profile->address ?? '', 'Nationality' => $profile->nationality ?? '', 'Marital Status' => $profile->marital_status ?? '', // Job Info 'Job Title' => $jobInfo->title ?? '', 'Pension %' => $jobInfo->pension_percentage ?? '', 'Hire Date' => $jobInfo->hire_date ?? '', 'Employment Type ID' => $jobInfo->employment_type_id ?? '', 'Pay Frequency' => $jobInfo->pay_frequency ?? '', 'Pay Rate' => $jobInfo->pay_rate ?? '', // Bank Info 'Bank Name' => $bankInfo->bank_name ?? '', 'Account Name' => $bankInfo->account_name ?? '', 'Account Number' => $bankInfo->account_number ?? '', 'Bank Code' => $bankInfo->bank_code ?? '', 'PFA Name' => $bankInfo->pfa_name ?? '', 'Tax ID' => $bankInfo->tax_id ?? '', 'NHF Number' => $bankInfo->nhf_number ?? '', ]; }); } public function headings(): array { return [ 'Employee ID', // Profile 'First Name', 'Last Name', 'Middle Name', 'Gender', 'DOB', 'Work Phone', 'Mobile Phone', 'Work Email', 'Personal Email', 'Address', 'Nationality', 'Marital Status', // Job Info 'Job Title', 'Pension %', 'Hire Date', 'Employment Type ID', 'Pay Frequency', 'Pay Rate', // Bank Info 'Bank Name', 'Account Name', 'Account Number', 'Bank Code', 'PFA Name', 'Tax ID', 'NHF Number', ]; } // public function collection() // { // $data = Employee::where('created_by', \Auth::user()->creatorId())->get(); // foreach($data as $k => $employees) // { // unset($employees->id,$employees->user_id,$employees->documents,$employees->tax_payer_id,$employees->is_active,$employees->created_at,$employees->updated_at); // $data[$k]["branch_id"]=!empty($employees->branch_id) ? $employees->branch->name : '-'; // $data[$k]["department_id"]=!empty($employees->department_id) ? $employees->department->name : '-'; // $data[$k]["designation_id"]= !empty($employees->designation_id) ? $employees->designation->name : '-'; // $data[$k]["salary_type"]=!empty($employees->salary_type) ? $employees->salaryType->name :'-'; // $data[$k]["salary"]=Employee::employee_salary($employees->salary); // $data[$k]["created_by"]=Employee::login_user($employees->created_by); // } // return $data; // } // public function headings(): array // { // return [ // "Name", // "Date of Birth", // "Gender", // "Phone Number", // "Address", // "Email ID", // "Password", // "Employee ID", // "Branch", // "Department", // "Designation", // "Date of Join", // "Account Holder Name", // "Account Number", // "Bank Name", // "Bank Identifier Code", // "Branch Location", // "Salary Type", // "Salary", // "Created By" // ]; // } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0.38 |
proxy
|
phpinfo
|
Settings