exports: test if a join is already loaded

when a specific join has to be shared between combined filters/aggregators, we need to check if it has been already loaded.
we cannot load it into indicator because result is wrong
This commit is contained in:
2022-08-11 11:59:35 +02:00
parent 18c17818f6
commit 70488a935d
4 changed files with 12 additions and 1 deletions

View File

@@ -76,6 +76,10 @@ class ChildrenNumberAggregator implements AggregatorInterface
*/
public function alterQuery(QueryBuilder $qb, $data)
{
if (!in_array('composition', $qb->getAllAliases())) {
$qb->join('household.compositions', 'composition');
}
$qb->addSelect('composition.numberOfChildren AS childrennumber_aggregator');
$groupBy = $qb->getDQLPart('groupBy');

View File

@@ -83,6 +83,10 @@ class CompositionAggregator implements AggregatorInterface
*/
public function alterQuery(QueryBuilder $qb, $data)
{
if (!in_array('composition', $qb->getAllAliases())) {
$qb->join('household.compositions', 'composition');
}
$qb->addSelect('IDENTITY(composition.householdCompositionType) AS composition_aggregator');
$groupBy = $qb->getDQLPart('groupBy');