/** * * @param My_Model_Domain|array $obj * @throws Exception * @return number */ public function update($obj) { if ($obj instanceof My_Model_Domain) { if ($obj->getClientIdUnsetFromData()) { $obj->unsetField($obj->getClientIdKey()); } $bind = $obj->getData(); } elseif (is_array($obj)) { $bind = $obj; } else { throw new Exception("Unsupported datatype used in insert/update", -1001); } $db = $this->_connection; return $this->_connection->update($this->_tablename, $bind, $db->quoteInto("{$this->_primary_key_field} = (?)", $obj->{"get" . $this->_primary_key_field}())); }