Example #1
0
 /**
  * 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);
 }