Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Herencia de 4 niveles en Doctrine2/Symfony2

24 de diciembre de 2014

Buenas,

Tengo una clase madre llamada Vivienda, de ésta cuelgan 8 clases; de 3 de ellas cuelgan otras tantas clases, y de estas otras tantas. Las clases nietas y bisnietas no se relacionan con sus respectivos padres sino con la clase Vivienda y a partir de las clases hijas de Vivienda el campo DiscriminatorColumn (llamado type) no se crea.

No sé si estaré haciendo algo mal, pero esto me facilitaría la vida bastante.

Si es necesario pondré parte del código y/o un diagrama.

Gracias.


Respuestas

#1

Buenas,

Puedes explicar un poco más ¿para que necesitas tantos nivele de herencia en las entidades?, ¿cuales son esas facilidades que te brindaria dicha implementación?

Lo pregunto para ver si hay otra forma de resolver el asunto, ya que hasta ahora he trabajado con herencia simple para poder relacionar una enidad con varios hijos de otra entidad, pero hablar ya de tantos niveles pudiera más bien (en mi opinión) darte más dolores de cabeza que ayudarte.

Saludos!

@manuel_j555

30 diciembre 2014, 13:31
#2

Creo que poniendo un diagrama me voy a explicar mejor que con palabras.

diagrama

Esa es mi base de datos (las tablas tienen más campos).

Entonces, inmueble tiene unos campos que son generales para todas las tablas, luego trasteros, comerciales, suelos, etc, tienen unos campos específicos para ellos; viviendas más de lo mismo y comparte con viviendas horizontales y verticales algunos campos, pero luego estas tienen campos específicos y sus respectivos hijos a su vez también tienen campos específicos.

Por eso todo el lío de esta herencia, que no es muy compleja pero si muy extensa.

Gracias.

@Xinjia95

30 diciembre 2014, 15:05
#3

Bueno por ahora consegui esto:

Doctrine2 Multiple level inheritance

Al parecer, a la persona que responde le ha funcionado lo que implementó, podrias hacer pruebas a ver.

@manuel_j555

7 enero 2015, 14:24