Yii2 模型 public 属性

Yii2 model public attributes

我有一个用户模型,其中一些属性是 public,一些是数据库列属性

假设模型有 N 多个 public 属性(例如 Email 和 Surname)和列属性(Salt,例如 confirmation_token)

我想遍历模型中的所有属性,包括 public 属性db 列属性

假设您的用户模型是一个 ActiveRecord,您可以创建一个这样的函数来检索 public 属性和从数据库中检索到的属性的组合。

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

然后可以像

一样打印属性值
$attributes = $model->getAllAttributes();
foreach ($attributes as $attribute) {
    echo $model->$attribute;
    echo "<br />";
}