我有一个User模型,其中一些属性是公共的,一些属于db列属性
假设模型有N个公共属性(例如Email和Surname)和列属性(例如Salt,confirmation_token)
我想遍历模型中的所有属性,包括公共属性和 db列属性
答案 0 :(得分:3)
假设您的用户模型是ActiveRecord
,您可以创建这样的函数来检索公共属性和从数据库中检索的属性的组合。
public function getAllAttributes() {
return array_merge(
parent::attributes(),
\yii\base\Model::attributes()
);
}
然后可以像
那样打印属性的值$attributes = $model->getAllAttributes();
foreach ($attributes as $attribute) {
echo $model->$attribute;
echo "<br />";
}