Symfony Doctrine - 没有外键加入

时间:2013-09-16 13:42:39

标签: mysql symfony doctrine-orm

我正在尝试设置一个模式来捕获Twitter用户及其关注者。

我有两张桌子。 Twitter用户和关注者。追随者有3个字段 - id,twitterUser,follower。

当Twitter用户被添加到表格中时,我还向追随者添加一行,以便与我可能感兴趣的其他用户一起加入。

但是,如果我使用Symfony / Doctrine来构建表,请使用以下内容 -

/**
 * @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。有更聪明的方法吗?

1 个答案:

答案 0 :(得分:0)