2014-10-10 66 views
2

嗨夥計我有一個關於在實體FosUserBundle實施一對一的問題。FOSUserBundle一對一映射實體沒有保存

用戶實體與配置文件實體具有一對一映射。我已經按照FOSUserBundle的文檔中所示覆蓋了基本的RegistrationFormType。記錄也保存在兩張表中。但映射實體顯示空白數據。請查找相同的重要的要點文件。

+0

你究竟在哪裏得到空白數據? – andy 2014-10-10 18:55:53

+0

在配置文件實體表 – 2014-10-13 05:43:42

+0

您的問題表明,表正確更新?還要注意,教義只會將關係中的信息存儲在關係中。 – andy 2014-10-13 07:29:49

回答

1

您的實施問題是您不更新雙向關聯的owning sideDoctrine documentation明確指出:

看看外鍵是如何定義在關係的表側,即Cart表。

在你的情況下,擁有側是Profile,你可以自動setUserId()爲folows更新:

public function setUserId(\XXXX\Bundle\UserBundle\Entity\User $userId = null) 
{ 
    $this->userId = $userId; 
    $userId->setProfile($this); 

    return $this; 
} 

您可以從關係的兩端都可以訪問的數據沒有問題,學說將查找相應的條目。

+0

感謝您的回答,我已根據鏈接http://jeremymarc.github.io/2013/01/31/symfony-form-and-doctrine-inverse-side-association/中的建議更改了代碼,解決方案1.在User.php中更新setter。 – 2014-10-13 09:46:15

+0

現在我得到您的問題,我更新了答案,以防其他人遇到同樣的問題。 – andy 2014-10-13 10:10:08

+0

我遇到了同樣的問題,但上面報告的解決方案似乎沒有工作......我可能錯過了一些東西。你可以幫我嗎? http://stackoverflow.com/questions/27441573/symfony2-fosuserbundle-registration-form-one-to-one-relation-between-user-clas – 2014-12-12 10:35:34