Мне нужна помощь, чтобы разобраться в 3-х стороннем картировании.
У меня есть ученик и родитель сущности, очевидно, что у одного родителя может быть много учеников, и наоборот, но мне нужна дополнительная информация между каждым родитель и ученик, которые будут отличаться для каждого из них.
Возможно, у нас есть следующие данные:
Ученик A - Родитель A (без ответственности), Родитель B (несет ответственность) - даже если один родитель несет юридическую ответственность, а другой нет, оба они все еще являются родителями одного и того же учащегося.
Ученик B - Родитель A (несет ответственность), Родитель B (несет ответственность) - в этом случае другой ученик имеет одни и те же родители, но на этот раз они оба несут юридическую ответственность.
Чтобы начать с базовых c сущностей, у меня будет:
class Student
{
// normally would have a ManyToMany here to link parents, but i need the 3rd entity
// to hold whether this student's parent has legal responsibility or not
}
class Parent
{
// normally again would have ManyToMany here to link students to the parent
}
class ParentStudent
{
/**
* @var boolean
* @ORM\Column(type="boolean", options={"default":true})
*/
private $responsibility = true;
// it's this part where i link student to parent and vice versa that's becoming confusing
}