我正在寻找一种在Symfony 2
中使用Doctrine
的方法,以使用id的有序数组来查找项目。
我有一个带有id(主键)和标题的Card实体。
我有一个带有id(主键)的ListCards实体和一个ListCards(编码为["16", "2", "84"]
的id数组)
我首先获取列表,然后我需要按顺序找到带有这些ID的卡片。
我尝试了一些类似的东西:
$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);
但Doctrine
按ASC
的顺序取出我的卡。
ORDER BY FIEDS
sql方法似乎并没有得到条令的支持。
对于这种排序,有什么简单的解决方案吗?
谢谢你(并为我糟糕的英语感到抱歉)。
您可以像一样使用它
$cardRepository->findBy( array('id' => $idsArray), array('id' => 'DESC') );
有关如何在findBy
方法中使用排序、极限和偏移作为第二至第四参数的更多详细信息,请参阅官方条令文件。
您可以创建一个辅助表,在其中存储有序的组元素,具有以下数据:(group_id, card_id, order)
您按group
_id搜索,按order
排序,然后读取card_id
。