/** * Audits an UPDATE operation * * @param \Phalcon\Mvc\ModelInterface $model * @return boolean */ public function auditAfterUpdate(ModelInterface $model) { $changedFields = $model->getChangedFields(); if (count($changedFields) == 0) { return null; } //Create a new audit $audit = $this->createAudit('U', $model); //Date the model had before modifications $originalData = $model->getSnapshotData(); $details = array(); foreach ($changedFields as $field) { $auditDetail = new AuditDetail(); $auditDetail->field_name = $field; $auditDetail->old_value = $originalData[$field]; $auditDetail->new_value = $model->readAttribute($field); $details[] = $auditDetail; } $audit->details = $details; return $audit->save(); }
/** * Audits an UPDATE operation * * @param \Phalcon\Mvc\ModelInterface $model * @return boolean */ public function auditAfterUpdate(ModelInterface $model) { $changedFields = $model->getChangedFields(); if (count($changedFields) == 0) { return null; } //Create a new audit $audit = $this->createAudit('U', $model); if (is_object($audit)) { //Date the model had before modifications $originalData = $model->getSnapshotData(); $details = []; $random = new Random(); foreach ($changedFields as $field) { $auditDetail = new AuditDetail(); $auditDetail->setId($random->uuid()); $auditDetail->setFieldName($field); $auditDetail->setOldValue($originalData[$field]); $newValue = $model->readAttribute($field) ?: 'empty'; $auditDetail->setNewValue($newValue); $details[] = $auditDetail; } $audit->details = $details; if (!$audit->save()) { ModelBase::saveLoger($audit->getMessages()); } } }