Symfony 2学说通过id的有序数组查找


Symfony 2 Doctrine find by ordered array of id

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

我有一个带有id(主键)和标题的Card实体。

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

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

我尝试了一些类似的东西:

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

DoctrineASC的顺序取出我的卡。

ORDER BY FIEDS sql方法似乎并没有得到条令的支持。

对于这种排序,有什么简单的解决方案吗?

谢谢你(并为我糟糕的英语感到抱歉)。

您可以像一样使用它

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

有关如何在findBy方法中使用排序、极限和偏移作为第二至第四参数的更多详细信息,请参阅官方条令文件。

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

您按group_id搜索,按order排序,然后读取card_id