0
我有兩個實體頁面(名稱,說明...)和Seo(page_id,title ...)。我建立了表格Page
作爲孩子的SeoType。發送表單後,我收到頁面實體與填充的Seo部分,但沒有page_id(顯而易見)。創建關於子女的記錄
那麼甚至可以存儲Page,以便自動在seo節中設置page_id?
對不起,但我不能清楚地表達自己。
我傾倒的對象:
我有兩個實體頁面(名稱,說明...)和Seo(page_id,title ...)。我建立了表格Page
作爲孩子的SeoType。發送表單後,我收到頁面實體與填充的Seo部分,但沒有page_id(顯而易見)。創建關於子女的記錄
那麼甚至可以存儲Page,以便自動在seo節中設置page_id?
對不起,但我不能清楚地表達自己。
我傾倒的對象:
根據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;
}
}
我知道了,但應該怎麼做? – siwymilek
編輯答案。 – Alsatian
表格設計不正確。現在我已將seo_id移至Page實體。 – siwymilek