Example #1
0
 public function select()
 {
     $pagination = $this->_config['pagination'];
     $search = $this->_config['search'];
     $whereList = '';
     if (ake('whereList', $this->_config)) {
         $whereList = $this->_config['whereList'];
     }
     $order = !strlen($this->_request->getCrudOrder()) ? $this->_config['defaultOrder'] : $this->_request->getCrudOrder();
     $orderDirection = !strlen($this->_request->getCrudOrderDirection()) ? $this->_config['defaultOrderDirection'] : $this->_request->getCrudOrderDirection();
     $export = !strlen($this->_request->getCrudTypeExport()) ? null : $this->_request->getCrudTypeExport();
     $offset = !strlen($this->_request->getCrudNumPage()) ? 0 : $this->_request->getCrudNumPage() * $this->_config['itemsByPage'];
     $limit = $this->_config['itemsByPage'];
     $where = !strlen($this->_request->getCrudWhere()) ? '' : Project::makeQuery($this->_request->getCrudWhere(), $this->_type);
     $data = Project::query($this->_type, $where, 0, 0, $order, $orderDirection);
     $count = count($data);
     if (true === $pagination) {
         $pageNumber = $offset / $limit < 1 ? 1 : $offset / $limit;
         $paginator = Paginator::make($data, $count, $limit);
         $this->_items = $paginator->getItemsByPage($pageNumber);
         $this->_pagination = Crud::pagination($paginator);
     } else {
         $this->_items = $data;
     }
     if (0 < $count && null !== $export) {
         $method = 'export' . ucfirst(Inflector::lower($export));
         return Crud::$method($data, $this->_em);
     }
     if (true === $search) {
         $this->makeSearch();
     }
     return $this;
 }