'integer', 'budget' => 'string', 'qty_planning' => 'float' ]; public static function boot() { parent::boot(); DB::transaction(function () { static::created(function($data) { $activity = Activity::find((int)$data->activity_id); $material = RequestMaterial::find((int)$data->material_id); $activity->rencana_biaya += (doubleval($material->price) * doubleval($data->qty_planning)); $activity->save(); }); static::deleted(function($data) { ReportActivityMaterial::where('assign_material_id', $data->id)->delete(); $activity = Activity::find($data->activity_id); $activity->rencana_biaya -= (doubleval($data->budget) * doubleval($data->qty_planning)); $activity->save(); }); }, 5); } }