2014-04-05 3 views
1

У меня есть Students, Classrooms и Student_Classroom таблиц.symfony doctrine реляционные таблицы

Students:

- ID 
- Name 
- Year_born 

Classroom:

- ID 
- Name 
- Number 
- Floor 

Student_Classroom:

- ID 
- ID_Student 
- ID_Classroom 

Как это должно быть сделано с помощью Symfony2 и доктрины? Использование аннотаций.

+0

Что вы пытались? Вы настроили какие-то сущности? – ferdynator

ответ

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 и обрабатывает все необходимые отношения. Узнайте больше о n:m отношениях в doctrine documentation. Также выезд this Q&A on SO.