如何在doctorine2上互相拥有外键

时间:2013-06-16 17:21:24

标签: symfony

我有两个名为'Lesson'和'MutorSche'的表

MutorSche有专栏'lessonBooked' 课程列'已预订'

我希望彼此拥有外键。 但我不确定inversedBy和mappedBy的含义。 这些是我的绳索。 有什么不对吗?

请帮助我。谢谢..

     /**
     *
     * @ORM\OneToMany(targetEntity="Acme\UserBundle\Entity\Lesson", inversedBy="booked*removethis : name of the variable in Lesson.php*")
     * @ORM\JoinColumn(name="lessonBooked", referencedColumnName="id")
     */ 

    private $lessonBooked = null;

    /**
     *
     * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\MutorSche", mappedBy="lessonBooked*removethis : name of the variable in MutorSche.php*")
     */
    private $booked;

1 个答案:

答案 0 :(得分:1)

外键被添加到拥有方(来自学说的pov - 并不总是你认为是拥有者),也就是使用inversedBy的那一方。

可以使用@JoinColumn注释配置要添加的外键(即name =“id)加上列名称(即referencedColumnName =”user_id“)。

@ManyToOne始终是关系的拥有方。

逻辑上,您无法将所有外键添加到列中的一个数据库条目。那些必须存储在“许多”相关条目中的每一个上。

Doctrine不会在双方都添加外键。