我有一个用户模型,其中一些属性是公共的,一些属性是数据库列属性
假设模型有N多个公共属性(例如Email和Surname)和列属性(例如Salt、confirmation_token)
我想循环访问模型中的所有属性,包括 public 属性 和 db 列属性
假设您的用户模型是一个
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 />";
}