public function findAllQueryBuilder(array $parameters) { $qb = parent::findAllQueryBuilder($parameters); // Se asegura de solo mostrar las asignaciones abiertas $alias = $this->findJoinAlias($qb, 'entrega'); $qb->where("{$alias}.estado = :estado")->setParameter('estado', Entrega::OPEN); // Se asegura que no se vean entregas despues de la fecha de cierre + dias de gracia $qb->andWhere(":now <= DATE_ADD({$alias}.fechaCierre, {$alias}.diasGracia, 'day')"); // Se asegura que no se vean entregas antes de la fecha para que fueron creadas $qb->andWhere("{$alias}.fechaInicio <= :now"); $qb->setParameter('now', new \DateTime()); return $qb; }
public function findAllQueryBuilder(array $parameters) { $restricted = false; if (isset($parameters[self::ONLY_OPEN])) { $restricted = true; unset($parameters[self::ONLY_OPEN]); } $qb = parent::findAllQueryBuilder($parameters); $alias = $qb->getRootAliases()[0]; if ($restricted) { // Se asegura de solo mostrar las asignaciones abiertas $qb->where("{$alias}.estado = :estado")->setParameter('estado', Entrega::OPEN); // Se asegura que no se vean entregas despues de la fecha de cierre + dias de gracia $qb->andWhere(":now <= DATE_ADD({$alias}.fechaCierre, {$alias}.diasGracia, 'day')"); // Se asegura que no se vean entregas antes de la fecha para que fueron creadas $qb->andWhere("{$alias}.fechaInicio <= :now"); $qb->setParameter('now', new \DateTime()); } return $qb; }