Skip to content

Commit

Permalink
Merge tag v2.2.9 into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
roadiz-ci committed Mar 7, 2024
1 parent 8194ee7 commit 46b54c1
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions src/Api/Extension/AttributeValueQueryExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,26 +55,29 @@ private function apply(
return;
}

$parts = $queryBuilder->getDQLPart('join');
$rootAlias = $queryBuilder->getRootAliases()[0];
if (!\is_array($parts) || !isset($parts[$rootAlias])) {
return;
}

/**
* AttributeValue is always linked to a Node.
* We need to join Node to filter by its status.
*/
$existingNodeJoin = QueryBuilderHelper::getExistingJoin($queryBuilder, 'o', 'node');
if (null === $existingNodeJoin || !$existingNodeJoin->getAlias()) {
return;
$queryBuilder->leftJoin($rootAlias . '.node', 'node');
$joinAlias = 'node';
} else {
$joinAlias = $existingNodeJoin->getAlias();
}

if ($this->previewResolver->isPreview()) {
$queryBuilder
->andWhere($queryBuilder->expr()->lte($existingNodeJoin->getAlias() . '.status', ':status'))
->andWhere($queryBuilder->expr()->lte($joinAlias . '.status', ':status'))
->setParameter(':status', Node::PUBLISHED);
return;
}

$queryBuilder
->andWhere($queryBuilder->expr()->eq($existingNodeJoin->getAlias() . '.status', ':status'))
->andWhere($queryBuilder->expr()->eq($joinAlias . '.status', ':status'))
->setParameter(':status', Node::PUBLISHED);
return;
}
Expand Down

0 comments on commit 46b54c1

Please sign in to comment.