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