Sylius\Bundle\PromotionBundle\Doctrine\ORM\PromotionRepository::filterByActive PHP Method

filterByActive() protected method

protected filterByActive ( Doctrine\ORM\QueryBuilder $queryBuilder, DateTime $date = null ) : Doctrine\ORM\QueryBuilder
$queryBuilder Doctrine\ORM\QueryBuilder
$date DateTime
return Doctrine\ORM\QueryBuilder
    protected function filterByActive(QueryBuilder $queryBuilder, \DateTime $date = null)
    {
        if (null === $date) {
            $date = new \Datetime();
        }
        return $queryBuilder->where($queryBuilder->expr()->orX($queryBuilder->expr()->isNull($this->getPropertyName('startsAt')), $queryBuilder->expr()->lt($this->getPropertyName('startsAt'), ':date')))->andWhere($queryBuilder->expr()->orX($queryBuilder->expr()->isNull($this->getPropertyName('endsAt')), $queryBuilder->expr()->gt($this->getPropertyName('endsAt'), ':date')))->setParameter('date', $date);
    }