/** * observe Lumen event deleting * 1. check if prev day * 2. delete logs and process logs * 3. act, accept or refuse * * @param $model * @return bool */ public function deleting($model) { //1. check if prev day if ($model->on->format('Y-m-d') <= Carbon::now()->format('Y-m-d')) { $model['errors'] = ['Tidak dapat menghapus log yang sudah lewat dari tanggal hari ini.']; return false; } //2. delete logs and process logs $logs = Log::personid($model->person_id)->ondate([$model->on->startOfDay()->format('Y-m-d H:i:s'), $model->on->endOfDay()->format('Y-m-d H:i:s')])->get(); if ($logs->count() && $logs->count() <= 1) { $processes = ProcessLog::personid($model->person_id)->ondate([$model->on->startOfDay()->format('Y-m-d H:i:s'), $model->on->endOfDay()->format('Y-m-d H:i:s')])->get(); foreach ($processes as $key => $value) { if (!$value->delete()) { $model['errors'] = $value->getError(); return false; } } } }