Yii2余波。使用changedAttributes显示错误

Yii2余波。使用changedAttributes显示错误,yii2,yii2-model,Yii2,Yii2 Model,我的Yii2模型的余波函数有一个奇怪的错误 当我这么做的时候 public function afterSave($insert, $changedAttributes) { parent::afterSave($insert, $changedAttributes); if(!$insert): print_r($changedAttributes);exit; $this->prepareMail(self::MAIL_APPROVE);

我的Yii2模型的余波函数有一个奇怪的错误

当我这么做的时候

public function afterSave($insert, $changedAttributes) {
    parent::afterSave($insert, $changedAttributes);
    if(!$insert):
        print_r($changedAttributes);exit;
        $this->prepareMail(self::MAIL_APPROVE);
    ;
}
我明白了

但当我这么做的时候

public function afterSave($insert, $changedAttributes) {
    parent::afterSave($insert, $changedAttributes);
    if(!$insert):
        $status = $changedAttributes['status']; // this line shows error
        if($status == Self::STATUS_CONFIRMED):
           $this->prepareMail(self::MAIL_APPROVE);
        ;
    ;
}
$status=$changedAttributes['status'];这一行显示错误

错误为“未定义索引:状态”

我没有看到什么?

使用以下行:

if(!$insert):
  $status = isset($changedAttributes['status']) ? $changedAttributes['status'] : 0); // this line shows error
    if($status == Self::STATUS_CONFIRMED):
       $this->prepareMail(self::MAIL_APPROVE);
    ;
;

$changedAttributes包含修改字段的旧值,但仅包含修改字段,如果存在“isset”跳过错误,则有效。

尝试扩展
$changedAttributes->status@Inaseskull错误:“试图获取非对象的属性”。另外,Doc表示其数组。您在数组中未获得
状态
………您的数组无效,表示未定义的偏移量。是否可能多次调用afterSave()?一次没有身份?
if(!$insert):
  $status = isset($changedAttributes['status']) ? $changedAttributes['status'] : 0); // this line shows error
    if($status == Self::STATUS_CONFIRMED):
       $this->prepareMail(self::MAIL_APPROVE);
    ;
;