我正在寻找一种方法,使用Doctrine
中的Symfony 2
来查找使用有序数组ID的项目。
我有一个带有ID(主键)和标题的卡片实体。
我有一个带有id(主键)的ListCards实体和一个listCards(编码的id数组:["16", "2", "84"]
)
我首先获取列表然后我需要按顺序查找带有这些ID的卡片。
我试着像:
$idsArray = ["16", "2", "84"];
$cardRepository->findby($idsArray);
但 Doctrine
按ASC
顺序获取我的卡片。
ORDER BY FIEDS
sql方法似乎不受doctrine支持。
这种排序有没有简单的解决方案?
谢谢(抱歉我的英文不好)。
答案 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
。