Code Duplication    Length = 30-31 lines in 2 locations

bridge/doctrine-orm/lib/OrmAgent.php 1 location

@@ 140-170 (lines=31) @@
137
    /**
138
     * {@inheritdoc}
139
     */
140
    public function query(Query $query): \Traversable
141
    {
142
        $sourceAlias = 'a';
143
        $queryBuilder = $this->entityManager->getRepository($query->getClassFqn())->createQueryBuilder($sourceAlias);
144
        $visitor = new ExpressionVisitor(
145
            $queryBuilder->expr(),
146
            $sourceAlias
147
        );
148
149
        if ($query->hasExpression()) {
150
            $expr = $visitor->dispatch($query->getExpression());
151
            $queryBuilder->where($expr);
152
            $queryBuilder->setParameters($visitor->getParameters());
153
        }
154
155
        foreach ($query->getOrderings() as $field => $order) {
156
            $queryBuilder->addOrderBy($sourceAlias . '.' . $field, $order);
157
        }
158
159
        if (null !== $query->getFirstResult()) {
160
            $queryBuilder->setFirstResult($query->getFirstResult());
161
        }
162
163
        if (null !== $query->getMaxResults()) {
164
            $queryBuilder->setMaxResults($query->getMaxResults());
165
        }
166
167
        return new ArrayCollection(
168
            $queryBuilder->getQuery()->execute()
169
        );
170
    }
171
172
    /**
173
     * Return the entity manager instance (for use in events).

bridge/doctrine-phpcr-odm/lib/PhpcrOdmAgent.php 1 location

@@ 145-174 (lines=30) @@
142
    /**
143
     * {@inheritdoc}
144
     */
145
    public function query(Query $query): \Traversable
146
    {
147
        $sourceAlias = 'a';
148
        $queryBuilder = $this->documentManager->getRepository($query->getClassFqn())->createQueryBuilder($sourceAlias);
149
150
        if ($query->hasExpression()) {
151
            $visitor = new ExpressionVisitor(
152
                $queryBuilder,
153
                $sourceAlias
154
            );
155
156
            $visitor->dispatch($query->getExpression());
157
        }
158
159
        $orderBy = $queryBuilder->orderBy();
160
        foreach ($query->getOrderings() as $field => $order) {
161
            $order = strtolower($order);
162
            $orderBy->{$order}()->field($sourceAlias . '.' .  $field);
163
        }
164
165
        if (null !== $query->getFirstResult()) {
166
            $queryBuilder->setFirstResult($query->getFirstResult());
167
        }
168
169
        if (null !== $query->getMaxResults()) {
170
            $queryBuilder->setMaxResults($query->getMaxResults());
171
        }
172
173
        return $queryBuilder->getQuery()->execute();
174
    }
175
176
    /**
177
     * Return the document mangaer instance (for use in events).