Formularios y modelos

Buenas dias compañeros, soy totalmente nuevo en Yii2, tengo una dificultad.

necesito hacer un formulario, y este debe afectar dos tablas de la base de datos (estan relacionadas),

podrian indicarme como hacer esto?

agradezco demasiado su ayuda!

Puedes cargar tus modelos a un solo formulario desde el metodo actionCreate y actionUpdate y realizar la programación

correspondiente; obtener el id del primer modelo guardado y usarlo en la segunda tabla para que se relacionen por el id.

Muchas gracias amigo por tu tiempo y respuesta, y disculpa mi ignorancia, pero podrias mostrarme la sintaxis para cargarlos, he intentado de todo y nada con exito :-[

//metodo para crear

public function actionCreate()

{


    $model = new Miembro();


    $dir = new Direccion();





    if($model->load(Yii::$app->request->post()) && $dir->load(Yii::$app->request->post())) //Checar si hay un envio


    {


        $dir->id_entidad=1; //Miembros


        if($dir->save()) //Guardo primero la tabla de direccion


        {


            $id_dir=$dir->id; //Obtengo el id de la direccion


            $model->id_direccion=$id_dir; //para usarlo en la otra tabla que esta relacionada





            if ($model->save()) { //guardo en la otra tabla (miembros)


               return $this->redirect(['view', 'id' => $model->idMiembro]);


            } 





            else 


            {


              return $this->render('create', array(


              'model'=>$model,


              'direccion'=>$dir));


            }


        }





        else


        {





        }


    }





   else {


        return $this->render('create', array(


            'model'=>$model,


            'direccion'=>$dir));


    }


}








//Metodo para modificar


public function actionUpdate($id)


{


    $model = $this->findModel($id);


    $dir = $this->getDireccion($model->id_direccion); //Obtengo la direccion mediante el id





    if ($model->load(Yii::$app->request->post()) && $model->save()) {


        return $this->redirect(['view', 'id' => $model->idMiembro]);


    } else {


        return $this->render('create', array(


            'model'=>$model,


            'direccion'=>$dir));


    }


}








Es un ejemplo pero puedes acomodarlo de acuerdo a las necesidades y la forma en que tengas relacionadas tus tablas, pero en si esa es la logica que he usado. Pruebalo y espero que te funcione. Sino ya me muestras como tienes la relacion de tus tablas (su estructura) y la forma como quieres que se muestren en tu vista.

Muchas gracias amigo, tu ayuda ha sido muy valiosa,

te cuento que gracias a lo que me compartiste ya no me muestra ningún error, ahora tengo la dificultad en el formulario, ya que no me reconoce los campos donde solicito la informacion para la otra tabla :unsure:

he llamado los modelos, he intentado llamando el modelo directamente pero no ha sido exisoto.

Te agradezco de antemano, el tiempo y el conocimiento que me estas compartiendo.

Que tal amigo.

Checa bien si estas redireccionando bien tu modelo porque tienes que mandarlo desde el archivo _create.php y _update.php antes de usarlo en la vista. No basta con enviarlo desde tu controlador (metodos crea y modificar) sino tambien desde los archivos que te mencionè. Intenta eso para que puedas usarlo en la vista. Exito.