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
Post a Comment