getNumbers example

return $condition instanceof NotOrderedProductCondition;
    }

    public function handle(ConditionInterface $condition, QueryBuilder $query): void
    {
        $this->addCondition($condition$query);
    }

    private function addCondition(NotOrderedProductCondition $condition, QueryBuilder $query): void
    {
        $likes = [];
        foreach ($condition->getNumbers() as $i => $number) {
            $likes[] = 'ordered_products LIKE :product' . $i;
        }

        $query->where('customernumber NOT IN ( SELECT customernumber FROM s_customer_search_index WHERE ' . implode(' OR ', $likes) . ' )'
        );
        foreach ($condition->getNumbers() as $i => $number) {
            
return $condition instanceof OrderedProductCondition;
    }

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

    private function addCondition(OrderedProductCondition $condition, QueryBuilder $query): void
    {
        $wheres = [];
        foreach ($condition->getNumbers() as $i => $number) {
            $wheres[] = 'customer.ordered_products LIKE :product' . $i;
            $query->setParameter(':product' . $i, '%|' . $number . '|%');
        }
        $query->andWhere(implode(' OR ', $wheres));
    }
}
Home | Imprint | This part of the site doesn't use cookies.