/**
  * Adds filters to a query builder
  *
  * @param QueryBuilder   $qb
  * @param array|Criteria $filters Additional filtering criteria, e.g. ['allDay' => true, ...]
  *                                or \Doctrine\Common\Collections\Criteria
  */
 protected function addFilters(QueryBuilder $qb, $filters)
 {
     if ($filters) {
         if (is_array($filters)) {
             $newCriteria = new Criteria();
             foreach ($filters as $fieldName => $value) {
                 $newCriteria->andWhere(Criteria::expr()->eq($fieldName, $value));
             }
             $filters = $newCriteria;
         }
         if ($filters instanceof Criteria) {
             $qb->addCriteria($filters);
         }
     }
 }
 /**
  * @param \Doctrine\ORM\Query|\Doctrine\ORM\QueryBuilder $query
  * @param \Doctrine\Common\Collections\Criteria $criterio
  */
 public function buscarPorCriterio($query, $criterio)
 {
     $query->addCriteria($criterio);
 }
 /**
  * @param QueryBuilder $qb
  * @param Criteria $criteria
  */
 protected function applyCriteriaToQb(QueryBuilder $qb, Criteria $criteria)
 {
     $qb->addCriteria($criteria);
 }