Skip to content

Instantly share code, notes, and snippets.

@ammarfaizi2
Created January 26, 2019 13:17
Show Gist options
  • Save ammarfaizi2/44723c58467bcf0cbd7f83468a8a591c to your computer and use it in GitHub Desktop.
Save ammarfaizi2/44723c58467bcf0cbd7f83468a8a591c to your computer and use it in GitHub Desktop.
<?php
namespace App\Imports;
use App\Siswa;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class SiswaImport implements ToCollection, WithHeadingRow
{
/**
* @var array
*/
private $res = [];
public function getStatus(): array
{
return $this->res;
}
/**
* @param \Illuminate\Support\Collection $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function collection(Collection $rows)
{
$err = [];
$status = [];
foreach ($rows as $row)
{
$pagi = ''; $siang = '';
if(is_string($row['pagi'])) {
$err[] = [
'nis' => $row['nis'],
'pagi' => 'tidak boleh selain 1[aktif] atau 0[non aktif]'
];
}elseif(is_string($row['siang'])) {
$err[] = [
'nis' => $row['nis'],
'siang' => 'tidak boleh selain 1[aktif] atau 0[non aktif]'
];
}
if($row['pagi'] == 0) {
$pagi = 'non aktif';
}elseif ($row['pagi'] == 1) {
$pagi = 'aktif';
}else{
$err[] = [
'nis' => $row['nis'],
'pagi' => 'tidak boleh selain 1[aktif] atau 0[non aktif]'
];
}
if($row['siang'] == 0) {
$siang = 'non aktif';
}elseif($row['siang'] == 1) {
$siang = 'non aktif';
}else{
$err[] = [
'nis' => $row['nis'],
'siang' => 'tidak boleh selain 1[aktif] atau 0[non aktif]'
];
}
// Check NIS
if (!Siswa::where('nis', $row['nis'])->first()) {
if(!is_string($row['pagi']) || !is_string($row['pagi'])) {
if(($row['pagi'] == 0 || $row['pagi'] == 1) && ($row['siang'] == 0 || $row['siang'] == 1)) {
$status[] = [
'nis' => $row['nis'],
'msg' => 'success'
];
// Siswa::create([
// 'nis' => $row['nis'],
// 'name' => $row['name'],
// 'no_hp' => $row['no_hp'],
// 'kelas_id' => $row['kelas_id'],
// 'th_ajaran_id' => $row['th_ajaran_id'],
// 'pagi' => $pagi,
// 'siang' => $siang
// ]);
}
}
}else{
$err[] = [
'nis' => $row['nis'],
'msg' => 'nis sudah ada'
];
}
}
$res = [
'status' => $status,
'error' => $err
];
$this->res = $res;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment