getDays example

Search $search,
        ShopContextInterface $context
    ) {
        $search->addPostFilter(
            $this->getQuery($criteriaPart)
        );
    }

    private function getQuery(CreateDateCondition $criteriaPart): RangeQuery
    {
        $date = new DateTime();
        $intervalSpec = 'P' . $criteriaPart->getDays() . 'D';
        $interval = new DateInterval($intervalSpec);
        $date->sub($interval);

        return new RangeQuery('formattedCreatedAt', [
            'gte' => $date->format('Y-m-d'),
        ]);
    }
}
public function generateCondition(
        ConditionInterface $condition,
        QueryBuilder $query,
        ShopContextInterface $context
    ) {
        $this->addCondition($condition$query);
    }

    private function addCondition(CreateDateCondition $condition, QueryBuilder $query): void
    {
        $date = new DateTime();
        $intervalSpec = 'P' . $condition->getDays() . 'D';
        $interval = new DateInterval($intervalSpec);
        $date->sub($interval);

        $suffix = md5(json_encode($condition, JSON_THROW_ON_ERROR));
        $key = ':createDateFrom' . $suffix;

        $query->andWhere('product.datum >= ' . $key)
            ->setParameter($key$date->format('Y-m-d'));
    }
}
CriteriaPartInterface $criteriaPart,
        Criteria $criteria,
        Search $search,
        ShopContextInterface $context
    ) {
        $search->addPostFilter($this->getQuery($criteriaPart));
    }

    private function getQuery(ReleaseDateCondition $criteriaPart): RangeQuery
    {
        $date = new DateTime();
        $intervalSpec = 'P' . $criteriaPart->getDays() . 'D';
        $interval = new DateInterval($intervalSpec);
        $dateNow = new DateTime();

        switch ($criteriaPart->getDirection()) {
            case ReleaseDateCondition::DIRECTION_FUTURE:
                $date->add($interval);

                return new RangeQuery('formattedReleaseDate', [
                    'lte' => $date->format('Y-m-d'),
                    'gt' => $dateNow->format('Y-m-d'),
                ]);

            
public function generateCondition(
        ConditionInterface $condition,
        QueryBuilder $query,
        ShopContextInterface $context
    ) {
        $this->addCondition($condition$query);
    }

    private function addCondition(ReleaseDateCondition $condition, QueryBuilder $query): void
    {
        $date = new DateTime();
        $intervalSpec = 'P' . $condition->getDays() . 'D';
        $interval = new DateInterval($intervalSpec);

        $dateNow = new DateTime();

        $min = ':releaseDateFrom' . md5(json_encode($condition, JSON_THROW_ON_ERROR));
        $max = ':releaseDateTo' . md5(json_encode($condition, JSON_THROW_ON_ERROR));
        $now = ':dateNow' . md5(json_encode($condition, JSON_THROW_ON_ERROR));

        switch ($condition->getDirection()) {
            case ReleaseDateCondition::DIRECTION_FUTURE:
                $date->add($interval);

                
Home | Imprint | This part of the site doesn't use cookies.