|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/bizkrypt/admin.bizkrypt.com/app/Imports/ |
Upload File : |
<?php
namespace App\Imports;
use App\Models\Exam;
use App\Models\Exam_mark;
use Maatwebsite\Excel\Concerns\ToModel;
use PhpOffice\PhpSpreadsheet\Shared\Date;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\WithStartRow;
use Maatwebsite\Excel\Concerns\SkipsEmptyRows;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithValidation;
class ExamMarksImport implements ToModel, WithStartRow, WithValidation, WithHeadingRow, SkipsEmptyRows
{
use Importable;
private $exam_id;
public function __construct(int $exam_id)
{
$this->exam_id = $exam_id;
}
public function startRow(): int
{
return 2;
}
public function rules(): array
{
return [
"class" => "required",
"section" => "required",
"roll_no" => "required",
"subject" => "required",
"maximum_marks" => "required",
"minimum_marks" => "required",
"obtained_marks" => "nullable",
];
}
public function model(array $row)
{
// dd($row);
return new Exam_mark([
'exam_id' => $this->exam_id,
'student_roll_no' => $row['roll_no'],
// 'testcode' => $row['testcode'],
'subject' => $row['subject'],
'maximum_marks' => $row['maximum_marks'],
'minimum_marks' => $row['minimum_marks'],
'obtained_marks' => $row['obtained_marks'],
// 'date' => Date::excelToDateTimeObject($row['date'])->format('Y-m-d')
]);
}
}