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