Yii Framework Forum: Duda sobre relaciones n:m - Yii Framework Forum

Jump to content

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

Duda sobre relaciones n:m n:m Rate Topic: -----

#1 User is offline   chux 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 83
  • Joined: 16-September 10

Posted 17 October 2010 - 04:36 AM

Buenas,

Estoy haciendo pruebas con yii, de momento todo correcto, pero tengo una duda respecto a las relaciones n:m.
Supongamos el tipico caso, tabla posts (id_post, texto) tabla tags (id_tag, nombre) y la tabla post_tags con el PK de ambas tablas.

Vale, se supone que me tendría que crear un modelo para la tabla post_tags y cada vez que agregue un tag meter un registro en la bd mediante ese modelo, correcto?

He estado buscando info, y he visto extensiones y demás por internet, pero no quiero meterme en esas cosas hasta que no domine bien el framework.

Luego, tengo otra duda mas. Supongamos la tabla empleados (id_empleado, nombre, departamento) y la tabla departamento (id_departamento, nombre), siendo departamento en la tabla empleado un FK hacia departamento.
Genero los modelos y tal, hago un bucle para recorrer los empleados, y en cada empleado voy accediendo a $model->departamento->nombre. Si tengo 10 empleados, haciéndolo así tiraría 10 consultas a la bd? en caso de ser cierto... obviamente, debería tirar una sola consulta con un join, verdad?

A ver si alguien me puede echar un cable, gracias desde ya!
Give a read to my blog.
0

#2 User is offline   chux 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 83
  • Joined: 16-September 10

Posted 17 October 2010 - 04:49 AM

La segunda parte está respondida en el manual aquí, así que ni caso
http://www.yiiframew...en/database.arr
pero gracias igualmente
Give a read to my blog.
0

#3 User is offline   abajja 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 108
  • Joined: 05-March 09
  • Location:Barcelona, Spain

Posted 17 October 2010 - 04:59 AM

En cuanto a la primera pregunta, hasta el momento no he visto otra manera. (claro puedes ir directamento con el 'insert' etc.)
0

#4 User is offline   mauricioschneider 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 152
  • Joined: 16-August 10
  • Location:Santiago, Chile

Posted 18 October 2010 - 11:21 PM

Respecto a la primera pregunta, si lo que necesitas es simplemente relacionar un post con un tag, recomendaría un método en la clase Post que se encargue de hacer el query a la base de datos. No se justifica un modelo exclusivo para eso.

Algo así: http://pastebin.com/xNybvwef

También podrías enviar como parámetro un arreglo con tags y usar un foreach dentro del método.

Lo que sí, tendrías que preocuparte de borrar manualmente los registros de dicha tabla cuando se borre un post o un tag, y ahí se podría justificar usar un modelo exclusivo para la tabla que almacena la relación n:m.

Aunque en tal caso podrías simplemente añadir otro método a la clase Post que borre el registro, y llamar este método cuando se borre un post o un tag.

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