public function index03Action() { $adapter = $this->getServiceLocator()->get("db_books"); $selectObj = new \Zend\Db\Sql\Select("user"); $selectObj->columns(array("id", "name"))->order(array("id DESC")); $adapterPaginator = new \Zend\Paginator\Adapter\DbSelect($selectObj, $adapter); $paginator = new \Zend\Paginator\Paginator($adapterPaginator); $currentPage = $this->params()->fromRoute("page"); $paginator->setItemCountPerPage(3)->setCurrentPageNumber($currentPage)->setPageRange(3); return array("paginator" => $paginator); }
/** * @desc Metoda zwraca liste rekordów z kolumna id i nazwa dla tabeli podanej w parametrze. Jeżeli jest pole status to zwraca tylko te z status=1 * @param $sTabelaSlownikowa * @param $aIds array * @param $intBaza nazwa bazy do ktorej ma się odnosic lista * @return array */ public static function ListaIn($nazwaSlownika, $aIds = array(), $aCols = array()) { $projectTable = new TableGateway($nazwaSlownika, \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter()); $projectTable->getColumns(); $select = new \Zend\Db\Sql\Select(); if (!empty($aCols)) { $select->columns($aCols); } $select->from($nazwaSlownika); $select->in(implode(',', $aIds)); $rowset = $projectTable->selectWith($select); if ($rowset) { return $rowset; } return array(); }
/** * Get the most searched queries * * @param $from begin time * @param $to end time * * @return associative array */ public function getMostSearchedQueries($from = null, $to = null, $limit = 20) { $subSelect = $this->sql->select(); $subSelect->columns(array('phrase' => 'value')); $subSelect->join(array('noresults' => 'user_stats_fields'), 'user_stats_fields.id = noresults.id', array()); $subSelect->join(array('user_stats' => 'user_stats'), 'user_stats.id = user_stats_fields.id', array('session' => 'session')); if ($from && $to) { $format = "Y-m-d H:i:s"; $from = date($format, $from); $to = date($format, $to); $subSelect->where->greaterThan('user_stats.datestamp', $from); $subSelect->where->lessThan('user_stats.datestamp', $to); } $subSelect->where->equalTo('user_stats_fields.field', 'phrase'); $subSelect->where->equalTo('noresults.field', 'noresults'); $subSelect->where->EqualTo('noresults.value', 'false'); $subSelect->where->notEqualTo('user_stats_fields.value', ''); $subSelect->group(array('phrase', 'session')); $select = new \Zend\Db\Sql\Select(); $select->columns(array('query' => 'phrase', 'count' => new Expression("COUNT(*)"))); $select->from(array('phrase' => $subSelect)); $select->group(array('phrase')); $select->order('count desc'); $select->limit($limit); $statement = $this->sql->prepareStatementForSqlObject($select); $result = $statement->execute(); return $result; }
/** * get ZF2 Zend Db Select * @return Zend\Db\Sql\Select */ protected function getDbSelect($isSetDefaultValue = true) { $select = new Zend\Db\Sql\Select(); if ($isSetDefaultValue) { $select->columns(array($this->pk)); $select->from($this->tableName); } return $select; }