From 5b0019cde766479c5ce7f6bdff9c036e429a5fae Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Thu, 25 Jul 2024 11:23:36 +0200 Subject: [PATCH] Fix query in filter: period having activity between dates filter Adding statement to ensure that subquery only considers records that are identical to the ones being processed in the main query. --- .../ACPFilters/PeriodHavingActivityBetweenDatesFilter.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/PeriodHavingActivityBetweenDatesFilter.php b/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/PeriodHavingActivityBetweenDatesFilter.php index 2d3282ad1..2b30a075c 100644 --- a/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/PeriodHavingActivityBetweenDatesFilter.php +++ b/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/PeriodHavingActivityBetweenDatesFilter.php @@ -73,13 +73,15 @@ final readonly class PeriodHavingActivityBetweenDatesFilter implements FilterInt $qb->andWhere( $qb->expr()->exists( - 'SELECT 1 FROM '.Activity::class." {$alias} WHERE {$alias}.date >= :{$from} AND {$alias}.date < :{$to} AND {$alias}.accompanyingPeriod = acp" + 'SELECT 1 FROM '.Activity::class." {$alias} WHERE {$alias}.date >= :{$from} AND {$alias}.date < :{$to} AND {$alias}.accompanyingPeriod = activity.accompanyingPeriod AND {$alias}.id = activity.id" ) ); $qb ->setParameter($from, $this->rollingDateConverter->convert($data['start_date'])) ->setParameter($to, $this->rollingDateConverter->convert($data['end_date'])); + + dump($qb->getQuery()->getResult()); } public function applyOn()