Yii继承attributeLabels

时间:2011-11-07 11:41:08

标签: yii

使用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);?>

但是我从来没有表现出过#&#39;或者&#39;是&#39;来自asbtractModel。如果我把所有内容都放在我的模型中就行了。但我想使用继承。 如何将父属性标签与当前模型attributeLabels连接?

1 个答案:

答案 0 :(得分:5)

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

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

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