2016-07-06 42 views
0

我有兩個實體頁面(名稱,說明...)和Seo(page_id,title ...)。我建立了表格Page作爲孩子的SeoType。發送表單後,我收到頁面實體與填充的Seo部分,但沒有page_id(顯而易見)。創建關於子女的記錄

那麼甚至可以存儲Page,以便自動在seo節中設置page_id?

對不起,但我不能清楚地表達自己。

我傾倒的對象:

enter image description here

回答

1

根據symfony的文件,在這裏:http://symfony.com/doc/current/cookbook/form/form_collections.html(見 '學說:層疊關係和保存 「反」 面')

如果你的表單數據類是擁有方:

class Seo 
{ 
    /** 
    * @ORM\ManyToOne(targetEntity="AppBundle:Page", cascade={"persist"}) 
    */ 
    private $page; 
} 

如果您的表單是反面,您必須添加擁有實體如此處理:

class Seo 
{ 
    /** 
    * @ORM\OneToMany(targetEntity="AppBundle:Page", mappedBy="seo") 
    */ 
    private $pages; 

    public function addPage(Page $page) 
    { 
     $page->setSeo($this); 

     $this->pages->add($page); 
    } 
} 

class Page 
{ 
    /** 
    * @ORM\ManyToOne(targetEntity="AppBundle:Seo", inversedBy="pages") 
    */ 
    private $seo; 

    public function setSeo(Seo $seo) 
    { 
     $this->seo = $seo; 
    } 
} 
+0

我知道了,但應該怎麼做? – siwymilek

+0

編輯答案。 – Alsatian

+0

表格設計不正確。現在我已將seo_id移至Page實體。 – siwymilek

相關問題