Ejemplo n.º 1
0
 public function getUsersList(UsersCriteria $criteria)
 {
     $queryBuilder = $this->connection->createQueryBuilder();
     $queryBuilder->from('users', 'u')->select('u.*');
     $name = $criteria->getFirstName();
     if (isset($name)) {
         $queryBuilder->where('lower(u.first_name) LIKE :first_name')->setParameter('first_name', '%' . strtolower($name) . '%');
     }
     $gender = $criteria->getSex();
     if (isset($gender)) {
         $queryBuilder->where('u.sex = :sex')->setParameter('sex', $gender);
     }
     $queryBuilder->setFirstResult($criteria->getPage())->setMaxResults($criteria->getPerPage());
     $results = $queryBuilder->execute()->fetchAll();
     return $results;
 }
Ejemplo n.º 2
0
 public function indexAction(Request $request)
 {
     $service = $this->get('users.users_list_service');
     $criteria = new UsersCriteria();
     $criteria->setFirstName($request->get('name'));
     $criteria->setPerPage($request->get('perPage'));
     $criteria->setPage($request->get('page'));
     $criteria->setSex($request->get('gender'));
     try {
         $users = $service->getUsersList($criteria);
     } catch (\Exception $ex) {
         throw $ex;
     }
     return $this->render('UsersBundle:Users:index.html.twig', array('users' => $users, 'currentPage' => $criteria->getPage()));
 }