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


How to show list of users with specific status in Yii php?

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

目前,它只显示fired用户,这意味着他们的状态已被解雇。但我想在同一个列表中显示被解雇和试用期的用户。

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

$model->MYUSER_STATUS = 'Fired';

我想显示被解雇和试用期的用户列表。。

  1. 已解雇(15名用户已解雇)
  2. 试用期(45名用户处于试用期)

目前它只显示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
    ));
}

我认为可以通过这种方式首先创建用户状态数组,即要显示的用户状态。就像我在下面挖的坑一样。

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

然后在searchUsers函数的代码行下面添加标准

$criteria->addInCondition('status', $userStatus );

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