2016-04-12 37 views
0

我遇到了一個問題,當我試圖保持用戶實體,其關係:故障與持續的關係

class User { 

     /** 
     * @OneToMany(targetEntity="AppBundle\Entity\UserDataAttribute", mappedBy="user", cascade={"persist", "remove"}) 
     * @var \Doctrine\Common\Collections\Collection 
     */ 
     private $customAttributes; 
} 

class UserDataAttribute 
{ 
     /** 
     * @ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="customAttributes") 
     * @JoinColumn(name="user_id", referencedColumnName="id") 
     */ 
     private $user; 
} 

當我指定@JoinColumn在數據庫name="user_id"進入這個查詢:

INSERT INTO user_data_attr (user_id) VALUES (null); 

當我指定@JoinColumn在數據庫name="userId"進入這個查詢:

INSERT INTO user_data_attr (userId) VALUES (2323 (the actual value))); 

但我需要的是:

INSERT INTO user_data_attr (user_id) VALUES (2323); 

我該怎麼做?前

+0

你不應該需要定義聯接列在所有的,如果你能在這裏默認 – LBA

+0

生活我不知道你是什麼意思是 –

+0

看到提供的答案 - 這就是我的意思 - 當它幫助你接受答案。 – LBA

回答

1
 /** 
    * @OneToMany(targetEntity="AppBundle\Entity\UserDataAttribute", mappedBy="user", cascade={"persist", "remove"}) 
    */ 
    private $customAttributes; 


    /** 
    * @ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="customAttributes") 
    */ 
    private $user; 

,並檢查它: app/console doctrine:schema:validate爲symfony1.2 2

   `app/console doctrine:schema:valid` for Symfony 3