/** * Applica una condizione alla query su tabella estraendo solo la riga * corrispondente alla primary key indicata * @param Mixed $pkeys * @return Boolean|Rowset */ public function getByPrimaryKey($pkeys = array()) { if (is_array($pkeys)) { reset($this->_pkeys); $condition = array(); foreach ($pkeys as $value) { $column = current($this->_pkeys); next($this->_pkeys); $condition[] = array('column' => $column, 'value' => $value); } reset($this->_pkeys); $where = Database::getClauseClassInstanceFromConnectionName('where', $this->_connection_name); $where->setData($condition); } else { reset($this->_pkeys); $value = $pkeys; $column = current($this->_pkeys); $condition = array(array('column' => $column, 'value' => $value)); $where = Database::getClauseClassInstanceFromConnectionName('where', $this->_connection_name); $where->setData($condition); } $query = Database::getQueryClass(array('select', 'from', 'where' => $where), $this->_connection_name); $query->sendData('from', array($this->getTable())); return Database::query($query); }
/** * Esegue uno statement * @param String $name * @return Rowset */ public function run($name) { if ($this->getStatementByName($name)) { return Database::query($this->getStatementByName($name)); } }
/** * Esegue la query */ public function exec() { return Database::query($this, null, $this->getConnectionName()); }