/** * 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()); } } }
/** * 插入前的自动处理 * */ public function beforeCreate() { // 字段未定义,并且是 NULL,在此处理 $this->datetime = $this->updated = $this->created = date('Y-m-d H:i:s'); $random = new Random(); $this->salt = substr(uniqid($random->hex(6)), -6); $this->password = md5(md5($this->password) . $this->salt); }
public function number($len) { return parent::number($len); }
/** * 生成票据Ticket * @param int $user_id * @return mixed */ public function createTicket($user_id = 0) { $random = new Random(); $ticket = $random->base64Safe(64); $data = ['user_id' => $user_id, 'ticket' => $ticket, 'create_time' => date('Y-m-d H:i:s')]; DI::getDefault()->get('dbBackend')->insertAsDict("tickets", $data); return $ticket; }