Database->prepare($query); $Statement->execute(array_merge($params ?? [], [$search])); if($entities = $this->fetchEntities($Statement)) { # Temporary (maybe crappy) solution to prevent a second count query. # Virtual column "_count" does not belong into the entities. $this->lastSearchOverallCount = $entities[0]->get('_count'); } return $entities; } #=============================================================================== # Get the number of overall results for the last performed search #=============================================================================== public function getLastSearchOverallCount(): int { return $this->lastSearchOverallCount; } #=============================================================================== # Get a list of distinct days #=============================================================================== public function getDistinctDays(): array { $query = 'SELECT DISTINCT DAY(time_insert) AS d FROM %s ORDER BY d'; $query = sprintf($query, static::getTableName()); $Statement = $this->Database->query($query); if($result = $Statement->fetchAll($this->Database::FETCH_COLUMN)) { return $result; } return []; } #=============================================================================== # Get a list of distinct months #=============================================================================== public function getDistinctMonths(): array { $query = 'SELECT DISTINCT MONTH(time_insert) AS m FROM %s ORDER BY m'; $query = sprintf($query, static::getTableName()); $Statement = $this->Database->query($query); if($result = $Statement->fetchAll($this->Database::FETCH_COLUMN)) { return $result; } return []; } #=============================================================================== # Get a list of distinct years #=============================================================================== public function getDistinctYears(): array { $query = 'SELECT DISTINCT YEAR(time_insert) AS y FROM %s ORDER BY y'; $query = sprintf($query, static::getTableName()); $Statement = $this->Database->query($query); if($result = $Statement->fetchAll($this->Database::FETCH_COLUMN)) { return $result; } return []; } }