Yii继承attributeLabels

问题描述 投票:0回答:1

使用 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 显示“否”或“是”。如果我将所有内容都放入模型中,它就会起作用。但我想使用继承。 如何将父属性标签与当前模型属性标签连接起来?

php yii
1个回答
5
投票

只需合并MyObject(模型类)中父方法的返回值即可:

  public function attributeLabels() {
    return array_merge(
      parent::attributeLabels(),
      array(
        'username' => Yii::t('user', 'email'),
      )
    );
  }

您还可以使用 CMap::mergeArray()

© www.soinside.com 2019 - 2024. All rights reserved.