FOSUserBundle et relations entre entités
Bonjour,
J'ai surchargé le formulaire d'inscription du FOSUB pour ajouter des champs dont certains issus de relation... Après avoir galéré avec les relations de type OneToOne j'ai réussi, grâce à votre aide, à les faire s'enregistrer dans la base de données.
Aujourd'hui je reviens vers vous pour un problème lors de la persistance de relations bidirectionnelles OneToMany et ManyToOne.
Voici ma relation :
Logement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| /**
* @ORM\OneToMany(targetEntity="projet\BackOfficeBundle\Entity\Photo", mappedBy="logement", cascade={"persist", "remove"})
*/
private $photos;
public function __construct() {
$this->photos = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Get photos
*
* @return Doctrine\Common\Collections\Collection
*/
public function getPhotos()
{
return $this->photos;
}
/**
* Set photos
*
* @param Doctrine\Common\Collections\Collection
*/
public function setPhotos($photos)
{
$this->photos = $photos;
}
/**
* Add photos
*
* @param projet\BackOfficeBundle\Entity\Photo $photos
*/
public function addPhoto(\projet\BackOfficeBundle\Entity\Photo $photos)
{
$this->photos[] = $photos;
} |
Photo :
Code:
1 2 3 4 5
| /**
* @ORM\ManyToOne(targetEntity="projet\BackOfficeBundle\Entity\Logement", inversedBy="photos")
* @ORM\JoinColumn(name="logement", referencedColumnName="log_id")
*/
private $logement; |
Quand l'utilisateur s'enregistre et ajoute des photos pour son logement, les lignes correspondantes s'ajoutent bien en base de données mais il n'y a pas de relation (le champ logement dans la table photos est à null).
Du coup pas moyen de récupérer la liste des photos d'un logement en faisant $logement->getPhotos().
Est-ce normal ?
Comment puis-je faire pour avoir ce genre de relation persistée ?
Merci d'avance