Ejemplo n.º 1
0
 /**
  * @param       $object
  * @param array $data
  *
  * @return mixed
  */
 private function update($object, array $data)
 {
     //only save when a change is detected
     if (!empty($data)) {
         $queryBuilder = $this->manager->getDriver()->getQueryBuilder();
         $primaryKey = $this->getPrimaryKey();
         $this->manager->postPendingQuery(new PendingQuery($this, PendingQuery::TYPE_UPDATE, $queryBuilder->update($this->getTable())->values($queryBuilder->createPositionalParameter($data))->where($queryBuilder->expression()->eq($primaryKey, $queryBuilder->createPositionalParameter($this->getState($object)->getOriginalFieldData($primaryKey))))));
     }
     return $this->getPrimaryKeyValue($object);
 }
Ejemplo n.º 2
0
 /**
  * Update records with $data where $fieldName equals to or is an element of $fieldValue
  *
  * Note: previous WHERE clauses are preserved
  *
  * @param string      $fieldName
  * @param mixed|array $fieldValue
  * @param array       $data
  */
 public function updateByField($fieldName, $fieldValue, array $data)
 {
     $this->manager->postPendingQuery(new PendingQuery($this->entity, PendingQuery::TYPE_UPDATE, $this->getUpdateQuery($data)->where($this->equalsExpression($fieldName, $fieldValue)), $this->parameters));
 }