Yii Framework Forum: Formularios y modelos - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Formularios y modelos usar un formulario y afectar varias tablas Rate Topic: -----

#1 User is offline   farid780 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 30-June 16

Posted 30 June 2016 - 08:17 AM

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!
0

#2 User is offline   Grow 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 13-January 14

Posted 30 June 2016 - 02:59 PM

View Postfarid780, on 30 June 2016 - 08:17 AM, said:

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.
0

#3 User is offline   farid780 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 30-June 16

Posted 30 June 2016 - 04:20 PM

View PostGrow, on 30 June 2016 - 02:59 PM, said:

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 :-[
0

#4 User is offline   Grow 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 13-January 14

Posted 30 June 2016 - 04:52 PM

View Postfarid780, on 30 June 2016 - 04:20 PM, said:

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.
0

#5 User is offline   farid780 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 30-June 16

Posted 05 July 2016 - 10:59 AM

View PostGrow, on 30 June 2016 - 04:52 PM, said:

//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.
0

#6 User is offline   Grow 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 13-January 14

Posted 07 July 2016 - 11:58 AM

View Postfarid780, on 05 July 2016 - 10:59 AM, said:

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.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users