<?php namespace App\Imports; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\WithStartRow; use Maatwebsite\Excel\Concerns\WithHeadingRow; use Modules\StudentSetting\Entities\StudentImportTemporary; class StudentImport implements ToModel, WithStartRow, WithHeadingRow { private $settings; public function __construct($field_settings) { $this->settings = $field_settings; } public function model(array $row) { if (isset($row['name']) && $row['email']) { $student = new StudentImportTemporary(); $student->name = @$row['name']; $student->email = @$row['email']; $student->phone = @$row['phone']; $student->country = @$row['country']; if ($this->settings->show_company == 1) { $student->company = @$row['company']; } if ($this->settings->show_gender == 1) { $student->gender = @$row['gender']; } if ($this->settings->show_student_type == 1) { $student->student_type = @$row['student_type']; } if ($this->settings->show_identification_number == 1) { $student->identification_number = @$row['identification_number']; } if ($this->settings->show_job_title == 1) { $student->job_title = @$row['job_title']; } if (!empty($row['dob'])) { try { $birthday = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['dob'])->format('m/d/Y'); } catch (\Exception $e) { $birthday = Carbon::parse($row['dob'])->format('m/d/Y')??null; } $student->dob = $birthday; } $student->created_by = Auth::user()->id; // $student->referral = generateUniqueId(); // $student->language_id = Settings('language_id') ?? '19'; // $student->language_name = Settings('language_name') ?? 'English'; // $student->language_code = Settings('language_code') ?? 'en'; // $student->language_rtl = Settings('language_rtl') ?? 'en'; // $student->country = Settings('country_id') ?? 'en'; $student->save(); return $student; } } public function startRow(): int { return 2; } public function headingRow(): int { return 1; } }