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

问题描述 投票:20回答:2

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

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

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

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

我试着像:

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

DoctrineASC的顺序取我的牌。

ORDER BY FIEDS sql方法似乎不受学说的支持。

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

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

php symfony doctrine dql
2个回答
27
投票

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

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

另请查看the official doctrine documentation,了解有关如何在findBy方法中使用排序,限制和偏移作为第二到第四参数的更多详细信息。


0
投票

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

您可以通过group_id搜索,order订购并阅读card_id

© www.soinside.com 2019 - 2024. All rights reserved.