/** * @param Search $entity * @param int $limit * @param int $offset * @param string $sort_column * @param string $sort_direction * * @return array {list:[],total:0} */ public function search(Search $entity, $limit, $offset, $sort_column, $sort_direction) { $selector = $this->selector->create()->addCountry($entity)->addDateAdd($entity)->addDateEnd($entity)->addDatePremiere($entity)->addGenres($entity)->addLabels($entity)->addName($entity)->addStorage($entity)->addStudio($entity)->addType($entity)->sort($sort_column, $sort_direction)->limit($limit)->offset($offset); return ['list' => $selector->getQuerySelect()->getQuery()->getResult(), 'total' => $selector->getQueryTotal()->getQuery()->getSingleScalarResult()]; }