Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii视图中的订单列数据_Php_Yii - Fatal编程技术网

Php Yii视图中的订单列数据

Php Yii视图中的订单列数据,php,yii,Php,Yii,在my DB中有一个列调用status,包含四种类型的数据新建、重新提交、批准和拒绝 我已成功地“按描述订购”了状态以供查看。但是,我真正想要的是状态可以通过以下方式列出: 拒绝 批准 重新提交 新的 “按描述订购”的当前版本为: 重新提交 拒绝 新的 批准 在型号I中,为订单添加了以下代码: public function scopes() { return array( 'bystatus' => array('order' => 'status DESC

在my DB中有一个列调用
status
,包含四种类型的数据新建重新提交批准拒绝

我已成功地“按描述订购”了
状态
以供查看。但是,我真正想要的是
状态可以通过以下方式列出:

  • 拒绝
  • 批准
  • 重新提交
  • 新的
  • “按描述订购”的当前版本为:

  • 重新提交
  • 拒绝
  • 新的
  • 批准
  • 在型号I中,为订单添加了以下代码:

    public function scopes() {
        return array(
            'bystatus' => array('order' => 'status DESC'),
        );
    }
    
    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));
    }
    
    控制器动作:

    public function scopes() {
        return array(
            'bystatus' => array('order' => 'status DESC'),
        );
    }
    
    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));
    }
    
    屏幕截图


    如何订购我想要的状态?或者有没有其他建议?谢谢

    您应该将订单定义为:

    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)",
            )
        );
    }
    

    “状态”列的数据类型是什么?确定。那么,你得到的结果是完全正确的。对不起,它没有按我希望的顺序排列。。。结果是1。批准2。重新提交3份。新的4。拒绝不,我是说你刚才给我的代码,结果是按1排序。批准2。重新提交3份。新的4。哦,现在可以了!我忘了在db中没有呼叫拒绝是REJ。。。非常感谢你!你可以撤销上一个答案~抱歉,再次感谢=)@我刚刚批准了你的编辑建议!