Code Duplication    Length = 30-31 lines in 2 locations

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

@@ 114-144 (lines=31) @@
111
    /**
112
     * {@inheritdoc}
113
     */
114
    public function query(Query $query): \Traversable
115
    {
116
        $sourceAlias = 'a';
117
        $queryBuilder = $this->entityManager->getRepository($query->getClassFqn())->createQueryBuilder($sourceAlias);
118
        $visitor = new ExpressionVisitor(
119
            $queryBuilder->expr(),
120
            $sourceAlias
121
        );
122
123
        if ($query->hasExpression()) {
124
            $expr = $visitor->dispatch($query->getExpression());
125
            $queryBuilder->where($expr);
126
            $queryBuilder->setParameters($visitor->getParameters());
127
        }
128
129
        foreach ($query->getOrderings() as $field => $order) {
130
            $queryBuilder->addOrderBy($sourceAlias . '.' . $field, $order);
131
        }
132
133
        if (null !== $query->getFirstResult()) {
134
            $queryBuilder->setFirstResult($query->getFirstResult());
135
        }
136
137
        if (null !== $query->getMaxResults()) {
138
            $queryBuilder->setMaxResults($query->getMaxResults());
139
        }
140
141
        return new ArrayCollection(
142
            $queryBuilder->getQuery()->execute()
143
        );
144
    }
145
146
    /**
147
     * Return the entity manager instance (for use in events).

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

@@ 119-148 (lines=30) @@
116
    /**
117
     * {@inheritdoc}
118
     */
119
    public function query(Query $query): \Traversable
120
    {
121
        $sourceAlias = 'a';
122
        $queryBuilder = $this->documentManager->getRepository($query->getClassFqn())->createQueryBuilder($sourceAlias);
123
124
        if ($query->hasExpression()) {
125
            $visitor = new ExpressionVisitor(
126
                $queryBuilder,
127
                $sourceAlias
128
            );
129
130
            $visitor->dispatch($query->getExpression());
131
        }
132
133
        $orderBy = $queryBuilder->orderBy();
134
        foreach ($query->getOrderings() as $field => $order) {
135
            $order = strtolower($order);
136
            $orderBy->{$order}()->field($sourceAlias . '.' .  $field);
137
        }
138
139
        if (null !== $query->getFirstResult()) {
140
            $queryBuilder->setFirstResult($query->getFirstResult());
141
        }
142
143
        if (null !== $query->getMaxResults()) {
144
            $queryBuilder->setMaxResults($query->getMaxResults());
145
        }
146
147
        return $queryBuilder->getQuery()->execute();
148
    }
149
150
    /**
151
     * Return the document mangaer instance (for use in events).