使用 Yii php 框架,我使用继承。
在我的 AbstractModel 中,我有这个方法:
public function attributeLabels()
{
return array(
'0'=>Yii::t('default','No'),
'1'=>Yii::t('default','Yes'),
);
}
在扩展 AbstractModel 的对象中,我有这个方法:
public function attributeLabels()
{
return array(
'username' => Yii::t('user', 'email'),
);
}
在视图文件中,我使用:
<?php echo CHtml::activeLabel($model, $model->property);?>
但我从不从 asbtractModel 显示“否”或“是”。如果我将所有内容都放入模型中,它就会起作用。但我想使用继承。 如何将父属性标签与当前模型属性标签连接起来?
只需合并MyObject(模型类)中父方法的返回值即可:
public function attributeLabels() {
return array_merge(
parent::attributeLabels(),
array(
'username' => Yii::t('user', 'email'),
)
);
}
您还可以使用 CMap::mergeArray()。