| @@ 26-37 (lines=12) @@ | ||
| 23 | * @param CriterionInterface|Having $having |
|
| 24 | * @return \Generator |
|
| 25 | */ |
|
| 26 | final public function apply($builder, CriterionInterface $having): \Generator |
|
| 27 | { |
|
| 28 | $expression = $this->getDoctrineExpression($having, $builder->expr(), $having->getField()); |
|
| 29 | ||
| 30 | yield from $this->extractResult($expression, function ($expr) use ($having, $builder) { |
|
| 31 | if ($having->isAnd()) { |
|
| 32 | $builder->andHaving($expr); |
|
| 33 | } else { |
|
| 34 | $builder->orHaving($expr); |
|
| 35 | } |
|
| 36 | }); |
|
| 37 | } |
|
| 38 | } |
|
| 39 | ||
| @@ 29-40 (lines=12) @@ | ||
| 26 | * @param CriterionInterface|Where $where |
|
| 27 | * @return \Generator |
|
| 28 | */ |
|
| 29 | public function apply($builder, CriterionInterface $where): \Generator |
|
| 30 | { |
|
| 31 | $expression = $this->getDoctrineExpression($where, $builder->expr(), $where->getField()); |
|
| 32 | ||
| 33 | yield from $this->extractResult($expression, function ($expr) use ($where, $builder) { |
|
| 34 | if ($where->isAnd()) { |
|
| 35 | $builder->andWhere($expr); |
|
| 36 | } else { |
|
| 37 | $builder->orWhere($expr); |
|
| 38 | } |
|
| 39 | }); |
|
| 40 | } |
|
| 41 | ||
| 42 | /** |
|
| 43 | * @param Where $where |
|