Symfony 2 Doctrine通过有序的id数组找到

时间:2015-02-17 14:31:17

标签: php symfony doctrine dql

我正在寻找一种方法,使用Doctrine中的Symfony 2来查找使用有序数组ID的项目。

我有一个带有ID(主键)和标题的卡片实体。

我有一个带有id(主键)的ListCards实体和一个listCards(编码的id数组:["16", "2", "84"]

我首先获取列表然后我需要按顺序查找带有这些ID的卡片。

我试着像:

$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);

DoctrineASC顺序获取我的卡片。

ORDER BY FIEDS sql方法似乎不受doctrine支持。

这种排序有没有简单的解决方案?

谢谢(抱歉我的英文不好)。

2 个答案:

答案 0 :(得分:27)

您可以像以下一样使用它:

$cardRepository->findBy( array('id' => $idsArray), array('id' => 'DESC') );

同时检查the official doctrine documentation以获取有关如何使用排序,限制和偏移作为findBy方法中第二到第四参数的更多详细信息。

答案 1 :(得分:0)

您可以创建一个帮助程序表,在该表中存储有序的组元素,并具有以下数据:(group_id, card_id, order)

您按group _ id进行搜索,按order排序并阅读card_id