/** * 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; }
public static function ListaWszystkieKolumnyLimit($nazwaSlownika, $limit = null, $offset = null) { $aKolumny = \My\Tools\Lista::KolumnyNazwy($nazwaSlownika); $select = new \Zend\Db\Sql\Select(); $select->from($nazwaSlownika); if (in_array('deleted', $aKolumny)) { $select->where('deleted=0'); } if (in_array('is_active', $aKolumny)) { $select->where('is_active=1'); } if (!is_null($limit) && $limit > 0) { $select->limit((int) $limit); } if (!is_null($offset) && $offset >= 0) { $select->offset((int) $offset); } $projectTable = new TableGateway($nazwaSlownika, \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter()); $rowset = $projectTable->selectWith($select); if ($rowset) { return $rowset->toArray(); } return array(); }