Hola comunidad,
mi problema consiste en como adaptar el metodo ActionCreate de un Controller para grabar un nuevo registro de otra tabla despues de haber grabado el registro correspondiente al modelo del controlador.
Voy a explicarme mejor: tengo dos tablas A y B, A es el padre de B. Tengo el Controlador y modelo de la tabla A, y solamente el modelo de la tabla B. Los datos de la tabla B se encuentran en la tabla A. Cuando el metodo ActionCreate del Controlador A grabe el registro de la tabla A, entonces se debe grabar el registro de la tabla B.
Aqui esta el codigo que me crea un registro NULO:
private $_tablaB;
public function actionCreate()
{
$model=new TABLA_A;
if(isset($_POST[‘tablaA’]))
{
$model->attributes=$_POST['tablaA'];
if($model->save()) {
$this->_tablaB = new tablaB; Instancio el Modelo de la Tabla B
$this->_tablaB->attributes = array(‘id’=>NULL, item1=>$model->id_item1, ‘id_tablaA’=>model->ID,); Asigno los valores de la tabla B en funcion de los valores de la Tabla A
$this->_tablaB->save(); Almaceno el registro de la Tabla B $this->redirect(array(‘view’,‘id’=>$model->iD));
}
$this->render('create',array( 'model'=>$model, ));
}
Que estoy haciendo de forma incorrecta, cualquier ayuda es bienvenida. Gracias