3

私のデータベース テーブルは「ステータス」という名前で、フロート型の「オーダー」という名前の列があります。

最低から最高の順にステータス フィールドを並べ替え、それらのフィールドをドロップダウン リストに入力しようとしています。

これは私が使用しているコードです:

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 に答える