/** * @param ModelInterface $model * @param array $options * @return ModelInterface */ public function update(ModelInterface $model, $options = []) { if (!isset($options['w'])) { $options['w'] = 1; } $model->setProperty('upt', microtime(true)); $data = $model->getChanges(); $condition = [$this->getIdFieldName() => $model->getProperty($this->getIdFieldName())]; $operation = ['$set' => $data]; $res = $this->getDbAdapter()->selectCollection($this->getTableName())->updateOne($condition, $operation, $options); $model->commitChanges(); return $model; }