2013-09-16 88 views
0

我試圖建立一個架構來捕獲Twitter用戶和他們的追隨者。Symfony的原則 - 不加入外鍵

我有兩個表。 TwitterUser和Follower。追隨者有3個字段 - id,twitterUser,follower。

當Twitter用戶是添加到表中,我還添加了一個行追隨者與其他用戶我可能有興趣在加入他們的行列。

但是,如果我得到的Symfony /原則建立的表使用類似以下各項

/** 
* @ORM\Entity 
* @ORM\Table(name="follower") 
* @ORM\HasLifecycleCallbacks 
*/ 
class Follower 
{ 
    public function __construct() 
    { 
    } 

    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    * @ORM\ManyToOne(targetEntity="TwitterUser", inversedBy="followers") 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
    */ 
    protected $twitterUser; 

    /** 
    * @ORM\ManyToOne(targetEntity="TwitterUser", inversedBy="following") 
    * @ORM\JoinColumn(name="follower_id", referencedColumnName="id") 
    */ 
    protected $follower; 
... 

它堅持創造follower外鍵,我不想,因爲我不希望有讓所有Twitter用戶,以確保我的聯接總是工作。

我能想到這樣做的唯一辦法,就是去掉註釋和創建SQL的加入自己。有沒有更聰明的方法來做到這一點?

回答