Php 按字段排序()使用原则,可能吗?

Php 按字段排序()使用原则,可能吗?,php,mysql,symfony,doctrine,dql,Php,Mysql,Symfony,Doctrine,Dql,我正在做一个项目,这是建立使用Symfony和条令,但我仍然是新的整个设置 长话短说,我需要按照select中使用的数组的顺序对结果集进行排序 我相信可以使用FIELD()函数来完成,但是从我的调查来看,它似乎不可能使用 例如,我很困惑如何在下面这样的查询中使用FIELD()(如果可能的话): 我使用的是doctrine版本1.2.4,并使用以下查询按特定值排序 $query->orderBy('FIELD(str,str1,str2,str3,...)'); 似乎您可以使用Doctri

我正在做一个项目,这是建立使用Symfony和条令,但我仍然是新的整个设置

长话短说,我需要按照select中使用的数组的顺序对结果集进行排序

我相信可以使用FIELD()函数来完成,但是从我的调查来看,它似乎不可能使用

例如,我很困惑如何在下面这样的查询中使用FIELD()(如果可能的话):


我使用的是doctrine版本1.2.4,并使用以下查询按特定值排序

$query->orderBy('FIELD(str,str1,str2,str3,...)');

似乎您可以使用DoctrineExtensions。请注意,使用扩展可能会破坏其他RDB类型的兼容性。我很乐意接受任何解决方案,这只是我最初的想法。无法提出其他解决方案,因为我不知道您试图解决的问题。特别是,您从何处获得所需的排序?原始的所需排序来自对第三方的查询,该查询返回数组中的标识符列表。数组的顺序是我需要按标识符从本地数据库中提取数据的顺序。
预期的已知函数,使用
原则/orm获得'FIELD'
$queryBuilder->orderBy('FIELD(我的别名.id,1,2,3)')工作正常
$query->orderBy('FIELD(str,str1,str2,str3,...)');