public function getList()
 {
     $select = new Select();
     $select->setFrom('search_institutions');
     $select->addColumn('search_institutions.*');
     $select->addColumn('sum/count as rate');
     $select->addOrderBy('rate desc');
     $select->setLimit(10);
     $paginator = new Paginator();
     $db = new DbGateway();
     return array('count' => $paginator->getElementsCount($select), 'data' => $db->execute($select));
 }
示例#2
0
 /**
  * Adiciona uma coluna a Query
  *
  * <p>
  *    Sendo $coluna uma string, sera verificado em Entity a existencia de uma coluna que corresponda ao string
  *    informado e se nenhuma correpondencia for encontrada uma exception do tioi IllegalArgumentException sera
  *    lancada.
  * </p>
  * <p>
  *    Sendo $column do tipo database/Column esta sera adicionado diretamente
  * </p>
  *
  * @example database::Query::addColumn
  * <code>
  * <?php
  *   # vide Query::factory
  *   $query = Query::factory(...);
  *
  *   # adiciona uma coluna a query informando o nome da mesma
  *   $query->addColumn('columnNam');
  *
  *   # adiciona uma coluna informando um objeto
  *   $column = Column::factory(...);
  *   $query->addColumn($column);
  * ?>
  * </code>
  *
  * @override
  * <ul>
  *     <li>Query::addColumn(string $column)</li>
  *     <li>Query::addColumn(Column $column)</li>
  * </ul>
  *
  * @param $column
  * @return Query
  * @throws IllegalArgumentException
  * */
 public function addColumn($column)
 {
     if (TRUE == is_string($column)) {
         $column = Column::factory($column, $this->_entity, 'database');
     }
     $this->_select->addColumn($column);
     return $this;
 }