在Yii中对CHtml :: listData下拉列表进行排序

时间:2012-10-03 21:59:46

标签: mysql yii

我的数据库表名为'status',它有一个名为'order'的列,其类型为float。

我正在尝试根据从最低到最高的顺序对状态字段进行排序,并将这些字段输入到下拉列表中。

这是我正在使用的代码:

echo $form->dropDownListRow($my_model, 'status', CHtml::listData(Status::model()->findAll(array('order'=>"'order' ASC")), 'id', 'name'), array('class'=>'span3','prompt'=>Yii::t('forms', 'Please Select A Status')));

但是列表总是按状态ID排序。我需要做一些类型的铸造吗?如果是这样,我将如何对我的查询进行类型转换,使其按“订单”升序排序?

1 个答案:

答案 0 :(得分:4)

您未正确指定订单:

array('order'=>"'order' ASC")

order(列名)周围有额外的引号,这意味着你实际上根本没有排序。删除引号以解决问题,但将反引号放在原位,因为order是MySql中的保留字:

array('order'=>"`order` ASC")