我有Students
,Classrooms
和Student_Classroom
表。
Students
:
- ID
- Name
- Year_born
Classroom
:
- ID
- Name
- Number
- Floor
Student_Classroom
:
- ID
- ID_Student
- ID_Classroom
如何使用Symfony2和Doctrine完成?使用注释。
答案 0 :(得分:1)
对我来说,这似乎是一个非常简单的n:m
关系。因此,您的2个实体看起来应该是这样的:
/**
* @ORM\Entity
*/
class Student
{
/**
* @ManyToMany(targetEntity="Classroom")
*/
private $classrooms;
public function __construct()
{
$this->classrooms = new ArrayCollection();
}
}
和
/**
* @ORM\Entity
*/
class Classroom
{
/**
* @ManyToMany(targetEntity="Student")
*/
private $students;
public function __construct()
{
$this->students = new ArrayCollection();
}
}
确保将所需的use
语句添加到实体类文件的顶部。 Doctrine将自动生成n:m
连接表本身并处理所有需要的关系。阅读doctrine documentation中有关n:m
关系的更多信息。结帐this Q&A on SO。