Cita:
Iniciado por weltxo Hola amigos, les explico mi pequeña inquietud. He leído la documentación de Doctrine pero me generan dudas a la hora de implementar una jerarquía de herencias.
Tengo la siguiente entidad que representaría a una súper clase:
Código:
/**
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"club" = "Competicion_Club", "seleccion" = "Competicion_Seleccion"})
*/
class Competicion
{
/** @ORM\Column(type="string") */
private $nombre;
/** @ORM\Column(type="string" , columnDefinition="ENUM('m', 'f')") */
private $genero;
/** @ORM\Column(type="string") */
private $discr;
}
Y dos sub-clases que heredan de la anterior clase
Código:
/** @ORM\Entity */
class CompeticionClub
{
/** @ORM\Column(type="integer") */
private $orden;
/** @ORM\Column(type="boolean") */
private $extinguido;
}
Código:
/** @ORM\Entity */
class CompeticionSeleccion
{
/** @ORM\Column(type="integer") */
private $anno;
}
Quería saber cómo establecer la relación entre estas entidades, si debo definir el atributo id solamente para la súper-clase o para las sub-clases
Defines el id en la super clase.
Por cierto esta parte no es necesaria en la clase:
Código PHP:
Ver original/** @ORM\Column(type="string") */
private $discr;
Y para la parte donde estas usando ENUM seria bueno que leas esto:
http://doctrine-orm.readthedocs.org/...sql-enums.html