Example #1
0
 public function update(ModelInterface $model, $options = [])
 {
     $data = $model->getChanges();
     $data[$this->getIdFieldName()] = $model->getId();
     $this->addToRepo($data);
     $model->commitChanges();
     return $model;
 }
Example #2
0
 /**
  * @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;
 }
Example #3
0
 public function update(ModelInterface $model, $options = [])
 {
     $model->setProperty('upt', microtime(true));
     $data = $model->getChanges();
     $condition = $this->getIdFieldName() . '=' . $model->getId();
     $sql = 'UPDATE ' . $this->tableName . ' SET ';
     $values = [];
     $i = 1;
     foreach ($data['set'] as $key => $value) {
         $values[':param' . $i] = $value;
         $sql .= $key . '=' . ':param' . $i . ',';
         $i++;
     }
     foreach ($data['unset'] as $key => $value) {
         $values[':param' . $i] = null;
         $sql .= $key . '=' . ':param' . $i . ',';
         $i++;
     }
     $sql = rtrim($sql, ',');
     $sql .= ' WHERE ' . $condition;
     $stmt = $this->getDbAdapter()->prepare($sql);
     foreach ($values as $name => $value) {
         $stmt->bindValue($name, $value);
     }
     $stmt->execute();
     $model->commitChanges();
     return $model;
 }