Drupal 7 有没有办法在Drupal查询中创建自定义orderBy

Drupal 7 有没有办法在Drupal查询中创建自定义orderBy,drupal-7,Drupal 7,我将按照自定义状态顺序0,4,1,2,3对我的表进行排序,但我不知道如何使用drupal查询来完成此操作 当使用mysql时,我可以 select * from table order by field(status, 0,4,1,2,3) 有没有办法用drupal做到这一点 $query->orderBy('status', array(0,4,1,2,3)); 还是什么?我多年前就遇到过。我找到了Drupal 7的解决方案,比如: $query->orderBy('FIELD

我将按照自定义状态顺序0,4,1,2,3对我的表进行排序,但我不知道如何使用drupal查询来完成此操作

当使用mysql时,我可以

select * from table order by field(status, 0,4,1,2,3)
有没有办法用drupal做到这一点

$query->orderBy('status', array(0,4,1,2,3));

还是什么?

我多年前就遇到过。我找到了Drupal 7的解决方案,比如:

$query->orderBy('FIELD(node.nid, 5,12,3,6)', 'ASC');
可能对你有用。
我记得我发现它

不幸的是,它不适用于$query->orderBy('FIELD(submissions.status',0,4,1,2,3)'ASC');未找到列:“order子句”中的1054未知列“submissions.status”:从{submissions}sfs order BY status ASC中选择sfs.*,字段(submissions.status,0,4,1,2,3)ASC;Array()@lukee嘿,看起来你有额外的'after'字段(submissions.status)。@lukee可能你使用了我链接中的示例。如果你再看一次,你会发现额外符号有一些更正(或者比较你和我的字符串)