我有两个名为'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;
答案 0 :(得分:1)
外键被添加到拥有方(来自学说的pov - 并不总是你认为是拥有者),也就是使用inversedBy的那一方。
可以使用@JoinColumn注释配置要添加的外键(即name =“id)加上列名称(即referencedColumnName =”user_id“)。
@ManyToOne始终是关系的拥有方。
逻辑上,您无法将所有外键添加到列中的一个数据库条目。那些必须存储在“许多”相关条目中的每一个上。
Doctrine不会在双方都添加外键。