【发布时间】:2015-01-21 05:36:32
【问题描述】:
有什么方法可以使用 ORDER BY FIELD() 功能创建 CDbCriteria 实例吗?
列是glncrna_id, id_list: 'GlncRNA10003d', 'GlncRNA10027d', 'GlncRNA20024d'
$criteria1->order = "FIELD(glncrna_id, 'GlncRNA10003d', 'GlncRNA10027d', 'GlncRNA20024d')";
或
$criteria1->order = "FIELD('glncrna_id', GlncRNA10003d, GlncRNA10027d, GlncRNA20024d)";
或
$criteria1->order = "FIELD('glncrna_id', 'GlncRNA10003d, GlncRNA10027d, GlncRNA20024d')";
显示一般错误:1 没有这样的功能:FIELD
$criteria1->order = "FIELD(glncrna_id, GlncRNA10003d, GlncRNA10027d, GlncRNA20024d)";
显示不是 GlncRNA10003d 列
如何在 id_list 中排序结果?我使用 sqlite 数据库
【问题讨论】:
-
$criteria->order = "FIELD(name, 'Mobile', 'Utilities') DESC";对我来说很好。我正在使用 MySql。你用的是哪个数据库?
-
我使用 sqlite 数据库@AlexJose
-
我认为 sqlite 数据库不支持 FIELD 函数。见stackoverflow.com/questions/3303851/sqlite-and-custom-order-by
-
谢谢,我解决了。 @AlexJose