/** * Set order by for search query * * @param \Oro\Bundle\SearchBundle\Query\Query $query * @param \Doctrine\ORM\QueryBuilder $qb */ protected function addOrderBy(Query $query, QueryBuilder $qb) { $orderBy = $query->getOrderBy(); if ($orderBy) { $orderRelation = $query->getOrderType() . 'Fields'; $qb->leftJoin('search.' . $orderRelation, 'orderTable', 'WITH', 'orderTable.field = :orderField')->orderBy('orderTable.value', $query->getOrderDirection())->setParameter('orderField', $orderBy); } }