2016-05-11 2 views
0

Hallo Ich habe Benutzer mit unterschiedlichen Status auf meiner Website, ich habe ein Feld in der Datenbanktabelle user_status genannt. Ich zeige nur einen Benutzertyp in meiner Berichtsliste von Benutzern an, aber ich möchte zwei Arten von Benutzern anzeigen.Wie zeige ich eine Liste der Benutzer mit bestimmten Status in Yii php?

Derzeit werden nur Benutzer angezeigt, die fired bedeutet, dass ihr Status ausgelöst wird. aber ich möchte Benutzer anzeigen, die gefeuert werden und auch auf Probezeit in derselben Liste.

Dies ist, was jetzt im tut, aber es ist nur Nutzer, die abgefeuert werden ..

$model->MYUSER_STATUS = 'Fired';

ich beide Benutzerliste angezeigt werden soll, die gefeuert werden und auf Probezeit ..

  1. Fired (15 Benutzer sind befeuert)
  2. Bewährungs (45 Benutzer sind auf Bewährung)

Derzeit werden nur 15 Benutzer angezeigt, aber ich möchte alle 60 Benutzer anzeigen (45 + 15). Ich habe schon versucht, diese so weit, aber seine nicht funktioniert,

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

Hier mein Modell-Code ist ..

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

Mein Controller ..

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 
    )); 

} 

Antwort

1

Ich denke, dies zu tun Erstellen Sie zuerst ein Array von Benutzerstatus, welchen Status des Benutzers Sie anzeigen möchten. wie ich unten aufgeführt habe.

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

dann unter Codezeile in searchUsers Funktion für Kriterien hinzufügen

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

über die Linie in searchUsers Funktion hinzufügen kann dies wird Dir hilft.

+0

Wo sollte ich dieses Array zuerst erstellen? Im Modell? –

+0

können Sie meinen Code bearbeiten und mir zeigen, wo ich ersetzen sollte ur Code –

+0

Ja im Modell innerhalb der searchUsers Funktion. –

Verwandte Themen