Yii2模型保存返回true但MySQL没有变化

时间:2017-05-23 14:54:48

标签: yii2 yii2-model

实际上,如果我在控制器的动作中更新我的模型(在这种情况下是actionTest),它会更新。这是我的代码:

public function actionTest()                                                                                                    
{                                                                                                                               
    $model = ProviderOrder::find()->where(['is_used' => 0,'type' => Transaction::COD])->orderBy(['id' => SORT_ASC])->one();//const COD  = 0
    $model->is_used = 1;                                                                                                        
    $model->save();                                                                                                        
}                                                                                                                               



但在我的情况下,我将afterSave函数定义为我的预订模型。我在其中调用了getTrackNumber函数,该函数在其正文中具有Transaction Class。

class Booking extends ActiveRecord
{

  public function afterSave($insert, $changedAttributes)
  {
    $this->getTrackNumber($this->id);
    parent::afterSave($insert, $changedAttributes);
  }

  public static function getTrackNumber($bookingId){

    $transaction = new Transaction();
    ....
  }
 }


在交易类内部,有与actionTest相同的代码。

但问题是$ model-> save()返回true但是当我浏览phpmyadmin时没有任何改变is_used仍为0.

但在第一种情况下,即在行动中,一切都很好。请帮帮我!

0 个答案:

没有答案