Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // paso1:
- // SE CREA CON GII UN FORMULARIO PARA ESTE MODELO
- class CasaDueno extends CFormModel {
- public $casaNombre;
- public $casaNumero;
- public $duenoNombre;
- public $duenoApellido;
- // ...blabla...completar las rules(), attributeLabels()...normal..
- }
- // paso 2:
- // en la controladora, hacer:
- public function actionCasaDueno(){
- blabla..lo que GII te hizo...
- $model->save(); //
- }
- // paso 3:
- // OVERRIDE del metodo save()
- // USANDO TRANSACCIONES para ayudar a la integridad relacional.
- class CasaDueno extends CFormModel /* OJO no es CActiveRecord */ {
- ...atributos...
- public function save(){
- // como se ya se valido y todo esta bien...
- $tr = Yii::app()->db->beginTransaction();
- $casa = new Casa();
- $casa->nombre = $this->casaNombre;
- $casa->numero = $this->casaNumero;
- if($casa->insert()){
- // ahora con el dueño:
- $dueno = new Dueno();
- $dueno->idcasa = $casa->primarykey;
- if($dueno->save()){
- // listo
- $tr->commit();
- return true;
- }else{
- $tr->rollback(); // deshara la CASA tambien automatic.
- }
- }
- else{
- $tr->rollback();
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment