/** * 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; }
/** * 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; }