Skip to content

Commit

Permalink
Use standard joins where possible
Browse files Browse the repository at this point in the history
MAILPOET-4986
  • Loading branch information
johnolek committed Mar 2, 2023
1 parent d5fd797 commit 6073d51
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,20 @@ public function apply(QueryBuilder $queryBuilder, DynamicSegmentFilterEntity $fi
$operator = $this->dateFilterHelper->getOperatorFromFilter($filter);
$dateValue = $this->dateFilterHelper->getDateValueFromFilter($filter);
$date = $this->dateFilterHelper->getDateStringForOperator($operator, $dateValue);
$subQuery = $this->getSubQuery($operator, $date);
$subscribersTable = $this->filterHelper->getSubscribersTable();

if (in_array($operator, [DateFilterHelper::NOT_ON, DateFilterHelper::NOT_IN_THE_LAST])) {
$subQuery = $this->filterHelper->getNewSubscribersQueryBuilder();
$this->applyConditionsToQueryBuilder($operator, $date, $subQuery);
$queryBuilder->andWhere($queryBuilder->expr()->notIn("{$subscribersTable}.id", $subQuery->getSQL()));
} else {
$queryBuilder->andWhere($queryBuilder->expr()->in("{$subscribersTable}.id", $subQuery->getSQL()));
$this->applyConditionsToQueryBuilder($operator, $date, $queryBuilder);
}

return $queryBuilder;
}

private function getSubQuery(string $operator, string $date): QueryBuilder {
$queryBuilder = $this->filterHelper->getNewSubscribersQueryBuilder();
private function applyConditionsToQueryBuilder(string $operator, string $date, QueryBuilder $queryBuilder): QueryBuilder {
$orderStatsAlias = $this->wooFilterHelper->applyOrderStatusFilter($queryBuilder);
$quotedDate = $queryBuilder->expr()->literal($date);

Expand Down

0 comments on commit 6073d51

Please sign in to comment.