如何通过FIELD在Symfony2中使用doctrine进行排序

时间:2013-07-17 22:48:16

标签: symfony doctrine

您好我使用过Symfony2和Doctrine。

我想通过我的自定义订单与学说

订购
SELECT id_product, pro_name FROM product ORDER BY FIELD(id_product,3,5,2)

我试过了     

    $rang_1=array(3,5,2);
    $products = $em->getRepository('CompanyMyBundle:Product')->findBy(array('public' => 1,'idProduct'=>$rang_1), array('idProduct'=>$rang_1), 5);

$sql = $em->createQuery("SELECT p FROM CompanyMyBundle:Product p WHERE l.public = 1 AND l.idProduct IN (".implode(',',$rang_1).")  ORDER BY FIELD(l.idProduct,".implode(',',$rang_1).")")->setMaxResults(5);

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我对ORDER BY FIELD-expression没有任何经验,但您是否已经看过this post?也许它可以帮到你?

似乎他们已经编写了一个处理FIELD ...

实现的Doctrine 2扩展