Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 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();
 }