<?php
namespace App\Imports;
use App\Models\Siswa;
use App\Models\Tabungan;
use Carbon\Carbon;
use Maatwebsite\Excel\Concerns\ToModel;
class TabungansImport implements ToModel
{
public $errorMessage = [];
public $totalData = 0;
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
if(strtolower(trim($row[0])) == "tanggal" || strtolower(trim($row[0])) == ""){
return null;
}
$cekSiswa = Siswa::where('nis', $row[1])->where('nama_siswa', $row[2])->first();
if(!$cekSiswa){
$this->errorMessage[] = 'Data Siswa dengan NIS '.$row[1].' dan Nama '.$row[2].' tidak ditemukan';
return null;
}
$tanggal = $row[0];
if(is_numeric($row[0])){
$tanggal = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row[0])->format('Y-m-d');
}
$tabungan = Tabungan::create([
'user_id'=>auth()->user()->id,
'nis'=> $row[1],
'nama_siswa'=> $row[2],
'jenis_kelamin'=>$cekSiswa->jenis_kelamin,
'no_hp'=>$cekSiswa->no_hp,
'proses_tabungan'=>strtolower($row[3]),
'tanggal_tabungan'=>$tanggal,
'jumlah_tabungan'=>$row[4],
'keterangan_tabungan'=>str_replace('.', '', $row[5]),
]);
$tabungan->siswas()->attach($cekSiswa->id);
$this->totalData++;
return $tabungan;
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]