2017-08-05 2 views
1

私は私は私の質問で明らかなように願っています。私のSymfony2のプロジェクトで
は、私は、ユーザーが望む限り多くの「映像作家」を追加するためのリンクを押すことが可能なフォームを作るためにthisチュートリアルを以下のよ、私は、フォームのコレクションでそれを実行しようとしました。
すべては、常に「ヌル」値ではなく、「ID」を取得する多くの1つのフィールドを除いて、正常に動作します。ここ
は、私がやっていることです。コレクションでは、外部キーを形成常にnull

私はアドオン "映像作家" のリンクを持っている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

2つのエンティティは同じバンドルにありますか? –

+0

マッピングに何らかのエラーがあります –

+0

はい、2つのエンティティが同じバンドルにあります – 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(); 

    } 

およびauteurエンティティの場合:

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

「ヌル」を取得 を変更しません – sabrina

関連する問題