El problema es a la hora de crear las entidades y las relaciones, pongo un ejemplo, imaginad que existe una entidad Fiesta...
Código:
Como veis esta definicion de la entidad Party ??/** * Acme\PartyBundle\Entity\Party * * @ORM\Table() * @ORM\Entity(repositoryClass="Acme\PartyBundle\Entity\PartyRepository") */ class Party { (...) /** * @var integer $organizer * * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\User") * @ORM\JoinColumn(name="user_id", referencedColumnName="id") */ private $organizer; /** * @var array $invitees * * @ORM\ManyToMany(targetEntity="Acme\UserBundle\Entity\User") * @ORM\JoinTable(name="party_invitees", * joinColumns={@ORM\JoinColumn(name="party_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")} * ) */ private $invitees; /** * @var array $gifts * * @ORM\ManyToMany(targetEntity="Acme\PartyBundle\Entity\Gift") * @ORM\JoinTable(name="party_gifts", * joinColumns={@ORM\JoinColumn(name="party_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="gift_id", referencedColumnName="id")} * ) */ private $gifts; (...) }
Evidentemente en el constructor a $invitees y $gifts se les asigna un arrayCollection vacío, para ir rellenando los invitados a la fiesta y los regalos que llevan...
la clase User tiene estos dos arrayCollection también
Código:
y la clase Gift más o menos esto/** * @var string $parties * * @ORM\ManyToMany(targetEntity="Acme\PartyBundle\Entity\Party") * @ORM\JoinTable(name="user_parties", * joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="party_id", referencedColumnName="id")} * ) */ private $parties; /** * @var string $gifts * * @ORM\ManyToMany(targetEntity="Acme\PartyBundle\Entity\Gift") * @ORM\JoinTable(name="user_gifts", * joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="gift_id", referencedColumnName="id")} * ) */ private $gifts;
Código:
Mi idea es mostrar, por ejemplo, los asistentes a una fiesta en una página con los detalles del evento y los regalos que hayan traido, pero las relaciones entre entidades no son mi fuerte y menos en un framework nuevo para mi... /** * @var string $creator * * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\User") */ private $creator; /** * @var string $party * * @ORM\ManyToOne(targetEntity="Acme\PartyBundle\Entity\Party") */ private $party;
Si además alguien puede echarme un cable con votos que pueda hacer cada usuario sobre un regalo, algo simple, como por ejemplo voto positivo y voto negativo... es que creo que no lo estoy haciendo bien...
Gracias!!!