symfony doctrine关系表

时间:2014-04-05 12:36:30

标签: symfony doctrine relational

我有StudentsClassroomsStudent_Classroom表。

Students

 - ID  
 - Name  
 - Year_born  

Classroom

 - ID  
 - Name  
 - Number  
 - Floor  

Student_Classroom

 - ID
 - ID_Student
 - ID_Classroom

如何使用Symfony2和Doctrine完成?使用注释。

1 个答案:

答案 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