2017-01-05 6 views
0

ich ein User-Modell mit einigen Attributen, die öffentlich sind und einige, die db Spalte sind AttributeYii2 Modell öffentlichen Attribute

wird angenommen, dass das Modell N viele öffentliche Attribute (E-Mail und Nachname zum Beispiel) haben und Spaltenattribute (Salz , confirmation_token zum Beispiel)

ich durch alle Attribute in einem Modell einschließlich öffentliche Attribute und db Spalte Attribute Schleife wollen

Antwort

2

Ihr User-Modell Unter der Annahme ist ein ActiveRecord Sie können eine Funktion wie diese erstellen, um die Kombination der öffentlichen und der aus der Datenbank abgerufenen Attribute abzurufen.

public function getAllAttributes() { 
    return array_merge(
     parent::attributes(), 
     \yii\base\Model::attributes() 
    ); 
} 

die Werte der Attribute Drucken kann dann wie

$attributes = $model->getAllAttributes(); 
foreach ($attributes as $attribute) { 
    echo $model->$attribute; 
    echo "<br />"; 
} 
erfolgen