Я написал собственный запрос в хранилище:
public function findProductDetails($filter = array(), $offset = 0, $limit = 0)
{
$query = $this->getEntityManager()
->createQuery('SELECT prod, comp, cat FROM PaulDemoBundle:Product prod JOIN prod.category cat JOIN prod.company comp WHERE prod.productName LIKE \'%'.$filter['freetext'].'%\' ');
$query->setFirstResult($offset);
$query->setMaxResults($limit);
return $query->getResult();
}
Теперь я пытаюсь добавить в него ORDER BY, используя часть orderBy () из Doctrine Query Builder:
$query->orderBy('prod.productRef', 'ASC');
Но я получаю ошибки при попытке запустить это:
Call to undefined method Doctrine\ORM\Query::orderBy()
Поэтому я добавил следующее в начало моего репозитория под вызовом USE для EntityRepository:
use Doctrine\ORM\Query;
Но без кубиков.
Вся документация, которую я нашел, просто показывает, что запрос строится с использованием метода $ query-> orderBy (). В документации Symfony2 нигде не сказано, как настроить репо для работы с Doctrine Query Builder.
Как же я могу добавить метод orderBy ()?
Я даже правильно строю свой запрос? (Он основан на документах Symfony2, но они довольно скудны)