使用Doctrine按多列值排序

时间:2014-02-12 11:32:56

标签: php sql symfony doctrine

我正试图找到一种方法来对数据进行排序,使用symfony2和doctrine,基于两列中的最小值,类似于。

$em=$this->getDoctrine()->getManager();
$test = $em->createQuery('select t from AcmeBundle:Test t where t.name is not null order by t.price1, t.price2')->getResult();

事情就是这样做,首先按price1排序,然后按price2排序。

有没有办法让它按price1price2中的最小值进行排序,而不是分开?

1 个答案:

答案 0 :(得分:1)

选择并按列priceprice1的最小值排序:

$test = $em->createQuery('select b, CASE WHEN (price1 > price) THEN price ELSE price1 END as order_value from AcmeBundle:Test t where t.name is not null order by order_value')->getResult();