我正在寻找一种方法在Doctrine
中使用Symfony 2
来使用有序的id数组来查找项目。
我有一个带有id(主键)和标题的Card实体。
我有一个带有id(主键)的ListCards实体和一个listCards(一个id编码的数组:["16", "2", "84"]
)
我首先获取列表,然后我需要按顺序查找带有这些ID的卡片。
我试着像:
$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);
但Doctrine
以ASC
的顺序取我的牌。
ORDER BY FIEDS
sql方法似乎不受学说的支持。
这种排序有什么简单的解决方案吗?
谢谢(抱歉我的英文不好)。
您可以像以下一样使用它:
$cardRepository->findBy( array('id' => $idsArray), array('id' => 'DESC') );
另请查看the official doctrine documentation,了解有关如何在findBy
方法中使用排序,限制和偏移作为第二到第四参数的更多详细信息。
您可以创建一个帮助程序表,在该表中存储有序的组元素,具有以下数据:(group_id, card_id, order)
您可以通过group
_id搜索,order
订购并阅读card_id
。