orderByRowNum()->get(); // return Sector::toArray(); } public function save($data) { $id = $data['id'] ?? null; $file = CmsFileDataAktivitas::rowActive()->where('id', $id)->first(); $storagePath = 'data_aktivitas/' . $data['sector'] . '/' . $data['inventory_year']; if ($file) { $currentFilePath = 'data_aktivitas/' . $file->sector . '/' . $file->inventory_year . '/' . $file->file_upload; if ($file->inventory_year !== $data['inventory_year'] || $file->sector !== $data['sector']) { if (Storage::disk('public')->exists($currentFilePath)) { $newFilePath = $storagePath . '/' . $file->file_upload; Storage::disk('public')->move($currentFilePath, $newFilePath); } } $data['file_upload'] = $file->file_upload; if (isset($data['file_document'])) { $oldFilePath = $storagePath . '/' . $file->file_upload; if ($file->file_upload != $data['file_document']->hashName()) { Storage::disk('public')->delete($oldFilePath); } $data['file_upload'] = basename($data['file_document']->store($storagePath, 'public')); } $this->update($file, $data); } else { if (isset($data['file_document'])) { $data['file_upload'] = basename($data['file_document']->store($storagePath, 'public')); } $file = $this->create($data); } return $file; } public function destroy(CmsFileDataAktivitas $fileData, $storagePath) { if ($fileData) { $oldFilePath = $storagePath . '/' . $fileData->file_upload; Storage::disk('public')->delete($oldFilePath); $this->delete($fileData); } } }