/** * {@inheritdoc} */ public function generateCondition(ConditionInterface $condition, QueryBuilder $query, ShopContextInterface $context) { if ($this->counter++ === 0) { $suffix = ''; } else { $suffix = $this->counter; } $query->innerJoin('product', 's_articles_categories_ro', "productCategory{$suffix}", "productCategory{$suffix}.articleID = product.id\n AND productCategory{$suffix}.categoryID IN (:category{$suffix})"); /** @var CategoryCondition $condition */ $query->setParameter(":category{$suffix}", $condition->getCategoryIds(), Connection::PARAM_INT_ARRAY); }