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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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