/** * Adds a new WHERE or HAVING restriction depends on the given parameters. * * @param mixed $restriction The restriction to add. * @param string $condition The condition. * Can be FilterUtility::CONDITION_OR or FilterUtility::CONDITION_AND. * @param bool $isComputed Specifies whether the restriction should be added to the HAVING part of a query. */ public function addRestriction($restriction, $condition, $isComputed = false) { $restriction = $this->qbTools->replaceAliasesWithFields($restriction); if ($condition === FilterUtility::CONDITION_OR) { if ($isComputed) { $this->qb->orHaving($restriction); } else { $this->qb->orWhere($restriction); } } else { if ($isComputed) { $this->qb->andHaving($restriction); } else { $this->qb->andWhere($restriction); } } }
/** * Adds a new WHERE or HAVING restriction depends on the given parameters. * * @param mixed $restriction The restriction to add. * @param string $condition The condition. * Can be FilterUtility::CONDITION_OR or FilterUtility::CONDITION_AND. * @param bool $isComputed Specifies whether the restriction should be added to the HAVING part of a query. */ public function addRestriction($restriction, $condition, $isComputed = false) { if ($this->fixComparison($restriction, $condition)) { return; } if ($condition === FilterUtility::CONDITION_OR) { if ($isComputed) { $this->qb->orHaving($restriction); } else { $this->qb->orWhere($restriction); } } else { if ($isComputed) { $this->qb->andHaving($restriction); } else { $this->qb->andWhere($restriction); } } }