Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Cakephp relacion de un modelo con el

Estas en el tema de Cakephp relacion de un modelo con el en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas os cuento lo que me pasa, tengo una tabla animal que se tiene que relacionar con ella misma y no se como hacerlo. Os ...
  #1 (permalink)  
Antiguo 19/08/2009, 01:15
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Cakephp relacion de un modelo con el

Buenas os cuento lo que me pasa, tengo una tabla animal que se tiene que relacionar con ella misma y no se como hacerlo.
Os cuento con mas detalle, la tabla animal tiene un campo padre_id y otro madre_id que almacenan el id de otro elemento de la tabla animal que serían el padre y la madre de este.
En la consulta no tengo problema porque puedo recuperarlo haciendo otra consulta, pero al mostrar el listado quiero mostrar el nombre del padre y de la madre y no se como recuperarlo, alguien me puede ayudar.
Un saludo y gracias.
  #2 (permalink)  
Antiguo 19/08/2009, 08:16
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 6 meses
Puntos: 69
Respuesta: Cakephp relacion de un modelo con el

Esta es una pregunta más propia para Bases de Datos, ya que trata específicamente de SQL y no de PHP.

Para realizar este tipo de consulta, tenés que hacer Joins de la misma tabla. Algo asi:

Código SQL:
Ver original
  1. SELECT a.id, a.nombre, padre.nombre, madre.nombre
  2. FROM animal a
  3. LEFT JOIN animal padre ON a.padre_id = padre.id
  4. LEFT JOIN animal madre ON a.madre_id = madre.id
  5. WHERE a.id = 1234

Supongo que con esto conseguirás lo que estás buscando.

Saludos !
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:36.