如何在Yii php中显示具有特定状态的用户列表?

时间:2016-05-11 06:34:06

标签: php database yii

您好我的网站上有不同状态的用户,我在数据库表中有一个名为user_status的字段。我在我的用户报告列表中只显示一种类型的用户,但我想显示两种类型的用户..

目前只显示fired的用户表示其状态被触发。但是我希望在同一个列表中显示被解雇的用户以及试用期。

这就是我现在正在做的事情,但它只显示被解雇的用户..

$model->MYUSER_STATUS = 'Fired';

我想显示被解雇的用户列表以及试用期..

  1. 被解雇(15名用户被解雇)
  2. 缓刑(45名用户正在试用)
  3. 目前它只显示了15个被激活的用户,但我希望显示所有60个用户(45 + 15)。到目前为止,我已经尝试过这个,但它不起作用,

    $model->MYUSER_STATUS = 'Fired' && $model->MYUSER_STATUS = 'Probation';
    

    这是我的模型代码..

    class Users extends CActiveRecord
    {
        public $MYUSER_STATUS;
    
        public function searchUsers()
        {
        $criteria=new CDbCriteria;
    
        $this->status = $this->MYUSER_STATUS;
    
        $criteria->compare('name',$this->name);
        $criteria->compare('date_of_birth',$this->date_of_birth,true);
        $criteria->compare('status',$this->status,true);
    
        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
            'pagination'=>false,
        ));
    }
    

    我的控制器..

    public function actionUserList(){
        $this->layout = 'cgridlisting';
        $model=new Users('searchUsers');
        $model->unsetAttributes();  // clear any default values
    
        $model->MYUSER_STATUS = 'Fired';
    
        if(isset($_GET['Users']))
            $model->attributes=$_GET['Users'];
    
        if(isset($_GET['Users']))
            $model->attributes = $_GET['Users'];
    
        $this->render('users_list',array(
            'model'=>$model
        ));
    
    }
    

1 个答案:

答案 0 :(得分:1)

我认为您可以这样做首先创建用户状态数组,以显示您要显示的用户状态。就像我在下面装箱一样。

$userStatus =  array('0'=>'Fired','1'=>'Probation');

然后在searchUsers函数中为条件

添加以下代码行
$criteria->addInCondition('status', $userStatus );

在searchUsers函数中添加以上行可能会对您有帮助。