Beispiel #1
0
 /**
  * Update
  *
  * @access public
  * @param  array   $data
  * @return boolean
  */
 public function update(array $data = array())
 {
     $values = array_merge(array_values($data), array_values($this->sumColumns), $this->conditionBuilder->getValues());
     $sql = UpdateBuilder::getInstance($this->db, $this->conditionBuilder)->withTable($this->name)->withColumns(array_keys($data))->withSumColumns(array_keys($this->sumColumns))->build();
     return $this->db->execute($sql, $values) !== false;
 }
Beispiel #2
0
 /**
  * Update large object from stream
  *
  * @access public
  * @param  string   $blobColumn
  * @param  resource $blobDescriptor
  * @param  array    $data
  * @return bool
  */
 public function updateFromStream($blobColumn, &$blobDescriptor, array $data = array())
 {
     $values = array_merge(array_values($data), $this->conditionBuilder->getValues());
     $columns = array_merge(array($blobColumn), array_keys($data));
     $this->db->startTransaction();
     $result = $this->db->getStatementHandler()->withSql(UpdateBuilder::getInstance($this->db, $this->conditionBuilder)->withTable($this->name)->withColumns($columns)->build())->withPositionalParams($values)->withLobParam($blobColumn, $blobDescriptor)->execute();
     $this->db->closeTransaction();
     return $result !== false;
 }