Esempio n. 1
0
 /**
  * Find all rows filtered for DataTables
  *
  * @param string $search        The search string
  * @param int    $sortColumn    The column to sort by
  * @param string $sortDirection The direction to sort the column
  * @param entity $actor         The actor relation
  *
  * @return \Doctrine\ORM\Query
  */
 public function findAllForDataTablesByActor($search, $sortColumn, $sortDirection, Actor $actor)
 {
     // select
     $qb = $this->getQueryBuilder(false)->select('p.id, p.name, c.id categoryId, c.name categoryName, b.id brandId, b.name brandName, 
                   p.price, p.stock, p.active, p.available, p.highlighted, p.freeTransport, actor.id actorId, actor.name actorName');
     // join
     $qb->join('p.category', 'c')->join('p.brand', 'b')->join('p.actor', 'actor');
     $qb->where('actor.id = :actor')->setParameter('actor', $actor->getId());
     // search
     if (!empty($search)) {
         $qb->andWhere('p.name LIKE :search OR
                     c.name LIKE :search OR
                     b.name LIKE :search OR 
                     actor.name LIKE :search')->setParameter('search', '%' . $search . '%');
     }
     // sort by column
     switch ($sortColumn) {
         case 0:
             $qb->orderBy('actor.name', $sortDirection);
             break;
         case 1:
             $qb->orderBy('p.name', $sortDirection);
             break;
         case 3:
             $qb->orderBy('c.name', $sortDirection);
             break;
         case 4:
             $qb->orderBy('b.name', $sortDirection);
             break;
         case 5:
             $qb->orderBy('p.price', $sortDirection);
             break;
         case 7:
             $qb->orderBy('p.stock', $sortDirection);
             break;
         case 8:
             $qb->orderBy('p.active', $sortDirection);
             break;
         case 9:
             $qb->orderBy('p.available', $sortDirection);
             break;
         case 10:
             $qb->orderBy('p.highlighted', $sortDirection);
             break;
         case 11:
             $qb->orderBy('p.freeTransport', $sortDirection);
             break;
     }
     return $qb->getQuery();
 }
Esempio n. 2
0
 /**
  * Creates a form to delete a Actor entity.
  *
  * @param Actor $actor The Actor entity
  *
  * @return \Symfony\Component\Form\Form The form
  */
 private function createDeleteForm(Actor $actor)
 {
     return $this->createFormBuilder()->setAction($this->generateUrl('core_actor_delete', array('id' => $actor->getId())))->setMethod('DELETE')->getForm();
 }