Code Duplication    Length = 12-12 lines in 2 locations

src/Processor/DatabaseProcessor/HavingBuilder.php 1 location

@@ 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

src/Processor/DatabaseProcessor/WhereBuilder.php 1 location

@@ 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