3

我的数据库表名为“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 排序。我需要做一些类型转换吗?如果是这样,我将如何对我的查询进行类型转换,以便它按“顺序”升序排序?

4

1 回答 1

4

您指定的顺序不正确:

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

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

array('order'=>"`order` ASC")
于 2012-10-03T22:07:01.777 回答