Yii ORDER列数据在视图中

时间:2014-11-27 01:50:44

标签: php yii

在我的数据库中有一个列调用 status ,其中包含四种类型的数据已恢复 APPROVE 拒绝

我已成功" ORDER BY DESC" status 到VIEW。但是,我真正想要的是 status 可以列出:

  1. REJECT
  2. 批准
  3. 重新提交
  4. NEW
  5. 目前为" ORDER BY DESC"是:

    1. 重新提交
    2. REJECT
    3. NEW
    4. 批准
    5. 在模型中,我为ORDER添加了此代码:

      public function scopes() {
          return array(
              'bystatus' => array('order' => 'status DESC'),
          );
      }
      

      在Controller操作中:

      public function actionAppListPage()
      {
          $count = '0';
          $id = Yii::app()->user->getState('id');
          $models = Developers::model()->bystatus()->findAll('developer_id='.$id);
          $this->render('applist',array('models'=>$models,'count'=>$count));
      }
      

      截图

      enter image description here

      如何订购我想要的状态?或者其他任何建议吗?感谢

1 个答案:

答案 0 :(得分:1)

您应该定义您的订单:

public function scopes() {
    return array(
        'bystatus'  => array(
            'order' => "(CASE status WHEN 'REJ' THEN 0 WHEN 'APPROVE' THEN 1 WHEN 'RESUBMITTED' THEN 2 WHEN 'NEW' THEN 3 ELSE 4 END)",
        )
    );
}