Insertar Datos En Varios Tablas A La Vez

Hola a los expertos y gracias por la ayuda de antemano.

Deseo saber como insertar datos en distintas tablas y que la insercion sea simultanea, estaba pensando hacerlo por ejemplo con dos modelos y sus respectivos controladores pero no se como mandarlos desde un formulario que esta en una vista.

Hola Newman,

Cuando ud dice "simultánea" a qué se refiere exactamente? Pues la simultaneidad en un motor de base de datos es un concepto bastante relativo.

Saludos.

De todas formas para agregar hay varios métodos:

[list=1][*]Por ActiveRecord (más flexible/potente/escalable aunque ligeramente más lento):


$registro = new MiTabla;

$registro->campo1 = 'asd';

$registro->save();

$registro2 = new Tabla2;

$registro2->campoX = 'qwe';

$registro2->save();

[*]Por DAO (más rápido/ligero pero menos escalable):


Yii::app()-> db->createCommand($sql)->queryColumn();//o execute() o queryRow() o queryAll();

[/list]

Espero que esto responda la otra parte de la pregunta :)

Por cierto, cabe anotar que es posible especies de "triggers" o disparadores en Yii usando los eventos de los modelos (ActiveRecord) por medio de beforeSave/afterSave, beforeDelete/afterDelete, beforeValidate/afterValidate, etc.

Saludos