0

您好,我使用 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);

有什么建议吗?

4

1 回答 1

0

我对 ORDER BY FIELD 表达式没有任何经验,但是您已经看过这篇文章了吗?也许它可以帮助你?

好像他们已经编写了一个 Doctrine 2 扩展来处理 FIELD 的实现......

于 2013-07-17T23:20:41.590 回答