2016-11-14 3 views
1

Ich habe das Benutzermodell. Es hat das Feld "Rolle", welches die Zahlen 1,2,3 enthält. 1 - admin, 2 - Moderator, 3 - einfacher Benutzer. Ich habe CRUD-Controller erstellt, um Benutzer zu verwalten. Und wenn ich view.php öffne, möchte ich "admin" anstelle von "1" und etc. sehen.Legen Sie den Anzeigenamen des Attributs anstelle der Nummer

Wenn ich mit 2 Zuständen arbeite, benutze ich wie unten. Aber was ist mit mehr als?

<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model, 
'attributes'=>array(
    'status' => array(
    'name' => 'status', 
    'value' => ($data->status==0)?"Good":"Bad", 
    ), 
), 
)): ?> 

Antwort

0

Ein Weg, dies

<?php $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model, 
    'attributes'=>array(
     'status' => array(
     'name' => 'status', 
     'value' => ($data->status==0)?"Good":"Bad", 
    ), 
     array(
      'name' => 'your_name' 
       'value' => array($this,'yourActionForDescription') 
     ) 


), 
)): ?> 

Dies bedeutet, dass Gitteransicht, die eine Funktion in ihrem Controller für eine Funktion yourActionForDescription suchen()

im Regler

public function yourActionForDescription($data,$row){ 

     $your_value = $data->your_value_column_name; 
     //do what you need for retrive your value 
     //for eg. 

     return $yourSearchedModel->description ; 
    } 

ein anderes Weg basiert auf Beziehung

Verwandte Themen