我正试图找到一种方法来对数据进行排序,使用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
排序。
有没有办法让它按price1
和price2
中的最小值进行排序,而不是分开?
答案 0 :(得分:1)
选择并按列price
和price1
的最小值排序:
$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();