Example #1
0
 /**
  * Lists all Category entities.
  *
  * @Route("/categories")
  * @Method("GET")
  *
  * @return JsonResponse
  *
  * @author João Paulo Cercal <*****@*****.**>
  * @version 0.1
  */
 public function categoriesAction()
 {
     $repository = $this->get('doctrine')->getRepository('CekurteZCPEBundle:Category');
     $entityFilter = new Category();
     $entityFilter->setDeleted(false);
     $result = $repository->getQuery($entityFilter, 'ck.title', 'asc')->getResult();
     $data = array();
     foreach ($result as $item) {
         $data[] = array('id' => $item->getId(), 'category' => $item->getTitle(), 'description' => $item->getDescription());
     }
     return new JsonResponse($data);
 }
Example #2
0
 /**
  * Search for records based on an entity
  *
  * @param Category $entity
  * @param string $sort
  * @param string $direction
  * @return \Doctrine\ORM\Query
  *
  * @author João Paulo Cercal <*****@*****.**>
  * @version 0.1
  */
 public function getQuery(Category $entity, $sort, $direction)
 {
     $queryBuilder = $this->createQueryBuilder('ck');
     $data = array('title' => $entity->getTitle(), 'description' => $entity->getDescription());
     if (!empty($data['title'])) {
         $queryBuilder->andWhere($queryBuilder->expr()->like('ck.title', ':title'))->setParameter('title', "%{$data['title']}%");
     }
     if (!empty($data['description'])) {
         $queryBuilder->andWhere($queryBuilder->expr()->like('ck.description', ':description'))->setParameter('description', "%{$data['description']}%");
     }
     $queryBuilder->andWhere($queryBuilder->expr()->eq('ck.deleted', ':deleted'))->setParameter('deleted', false);
     return $queryBuilder->orderBy($sort, $direction)->getQuery();
 }