你好,我的网站上有不同状态的用户,我在数据库表中有一个名为user_status
的字段。在我的用户报告列表中,我只显示一种类型的用户,但我想显示两种用户。。
目前,它只显示fired
用户,这意味着他们的状态已被解雇。但我想在同一个列表中显示被解雇和试用期的用户。
这是我现在正在做的事情,但它只显示被解雇的用户。。
$model->MYUSER_STATUS = 'Fired';
我想显示被解雇和试用期的用户列表。。
- 已解雇(15名用户已解雇)
- 试用期(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函数中添加以上行可能会对您有所帮助。