php - How can I get saved model id in transaction Yii 1*? -


i try id in saved model in transaction, like

$transaction = yii::app()->db->begintransaction(); try {     $somemodel = new somemodel(); // extends cactiverecord     $somemodel->someproperty = '123';     $somemodel->save();      $childmodel = new childmodel();     $childmodel->parent_id = $somemodel->id; // id empty =(     $childmodel->save();     // ... more logic ... // } catch (\exception $e) {     $transaction->rollback(); } $transaction->commit(); 

why can't incremented id in transaction?

1) if have beforesave in model make sure returns beforesave of it's parent:

return parent::beforesave(); 

2) try save childmodel when parent model saved

    $somemodel = new somemodel(); // extends cactiverecord         $somemodel->someproperty = '123';         if($somemodel->save()){          $childmodel = new childmodel();         $childmodel->parent_id =  $somemodel->getprimarykey();         $childmodel->save(); } 

Comments