Untitled
unknown
plain_text
2 years ago
3.4 kB
8
Indexable
public function updatedLampiranA1()
{
try {
$this->validate(
['lampiranA1' => 'mimes:jpeg,jpg,png,pdf|max:3024|'],
['lampiranA1.max' => 'Fail perlu tidak melebihi 3024MB'],
);
$this->DataLampiran = PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
->select('id', 'pegawai_skim_id', 'pegawai_id', 'lampiran_name', 'lampiran_category', 'lampiran_file_name', 'lampiran_extention',
'lampiran_full_path', 'lampiran_description')
->first();
DB::beginTransaction();
$folder = "/public/lampiran/".$this->pegawaiSkimPengalaman->pegawai_skim_id;
if (!is_dir(Storage::path($folder))) {
mkdir (Storage::path($folder) ,0777, true);
}
$this->lampiranA1FileName = time() . '_lampiran_A1.' . $this->lampiranA1->getClientOriginalExtension();
$fileContent = file_get_contents($this->lampiranA1->getRealPath());
$file_extension = $this->lampiranA1->getClientOriginalExtension();
$file_decode = base64_encode($fileContent);
if(!empty($this->DataLampiran)){
PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
->update(
[
'lampiran_file_name' => $this->lampiranA1FileName,
'lampiran_full_path' => $folder.'/'.$this->lampiranA1FileName,
'lampiran_binary' =>$file_decode,
'lampiran_extention' =>$file_extension,
]
);
}else{
PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
->create(
[
'pegawai_skim_id' => $this->pegawai->pegawai_skim_id,
'pegawai_id' => $this->pegawai->pegawai_id,
'lampiran_name' => 'Lampiran_A1_'.$this->pegawaiSkimPengalaman->id,
'lampiran_file_name' => $this->lampiranA1FileName,
'lampiran_full_path' => $folder.'/'.$this->lampiranA1FileName,
'lampiran_description' => "Lampiran A1",
'lampiran_binary' =>$file_decode,
'lampiran_extention' =>$file_extension,
]
);
}
$this->lampiranA1FullPath = $folder;
DB::commit();
$this->emit('alert', [
'type' => 'success',
'title' => 'Berjaya',
'message' => 'Fail Berjaya Di Muat Naik',
]);
$this->emit('$refresh');
}
catch (\Illuminate\Validation\ValidationException $e) {
DB::rollBack();
$validator = $e->validator;
$error = $validator->errors()->messages();
foreach($error as $er) {
$this->emit('alert', [
'type' => 'error',
'title' => 'Ralat',
'message' => $er,
]);
}
throw $e;
}
}Editor is loading...
Leave a Comment