2017-08-05 58 views
1

我希望我的問題能夠清楚。
在我的symfony2項目中,我遵循this教程來製作一個表單,我可以在其中按鏈接添加儘可能多的「導演」,因此我試圖通過表單集合來完成。
一切工作正常,除了多對一的領域,總是得到「空值」,而不是「ID」。
這是我所做的。在我所附加在收集表單外鍵始終爲空

Soumission實體 「導演」 鏈接

.... 
    /** 
* @ORM\OneToMany(targetEntity="tuto\BackofficeBundle\Entity\Auteur", 
    mappedBy="soumission", cascade={"persist"}) 
*/ 
protected $auteurs; 
..... 
/** 
* @param Collection $auteurs 
* @return $this 
*/ 

public function setAuteurs(Collection $auteurs) 
{ 
    $this->auteurs = $auteurs; 
    return $this; 
} 

/** 
* Add auteur 
* 
* @param \tuto\BackofficeBundle\Entity\Auteur $auteur 
* @return Soumission 
*/ 
public function addAuteur(Auteur $auteur) 
{ 
    if (! $this->auteurs->contains($auteur)) { 
     $auteur->setSoumission($this); // this should set the "soumission- 
              id" field 
     $this->auteurs->add($auteur); 
    } 
    return $this->auteurs; 
    } 
    public function removeAuteur(Auteur $auteur) 
    { 
    if ($this->auteurs->contains($auteur)) { 
     $this->auteurs->removeElement($auteur); 
    } 
    return $this->auteurs; 
    } 
    /** 
* @return mixed 
*/ 
    public function getAuteurs() 
    { 
    return $this->auteurs; 
    } 

這是導演的實體:

/** 
* @ORM\ManyToOne(targetEntity="Soumission", inversedBy="auteur") 
* @ORM\JoinColumn(name="soumission_id", referencedColumnName="id") 
*/ 
protected $Soumission; 
/** 
* @param $soumission 
* @return $this 
*/ 
public function setSoumission(Soumission $soumission) 
{ 
    $this->soumission = $soumission; 
    return $this;} 
/** 
* @return mixed 
*/ 
public function getSoumission() 
{ 
    return $this->soumission; 
} 

public function __toString() { 
    return $this->Soumission; 
} 

the result should be like the second line and not null value

+0

這兩個實體是在同一個捆綁? –

+0

你在映射中有一些錯誤 –

+0

是的兩個實體在同一個包 – sabrina

回答

-1

嘗試這樣做:

/** 
    * @ORM\OneToMany(targetEntity="Auteur",mappedBy="soumission", cascade={"persist"}) 
    */ 
    protected $auteurs; 
/** 
* Add auteurs 
* @return FormationMsk 
*/ 
public function addAuteur(\tuto\BackofficeBundle\Entity\Auteur $auteurs) 
{ 
    $this->auteurs[] = $auteurs; 

    return $this; 
} 

/** 
* Remove auteurs 
*/ 
public function removeAuteur(\tuto\BackofficeBundle\Entity\Auteur $auteurs) 
{ 
    $this->auteurs->removeElement($auteurs); 
} 

/** 
* Get auteurs 
* 
* @return \Doctrine\Common\Collections\Collection 
*/ 
public function getAuteurs() 
{ 
    return $this->auteurs; 
} 

public function __construct() 
{ 

    $this-auteurs = new \Doctrine\Common\Collections\ArrayCollection(); 

    } 

和導演實體:

/** 
* @ORM\ManyToOne(targetEntity="Soumission", inversedBy="auteurs") 
* @ORM\JoinColumn(name="soumission_id", referencedColumnName="id") 
*/ 
protected $soumission; 
+0

它沒有工作 什麼都沒有改變 – sabrina