我尝试映射三元关系。ER模型是下一个:
Responsable 是用户,Alumno 是另一种类型的用户(学生)。TipoRelacion 定义 Responsable 是学生(Alumno)的母亲、父亲还是导师。
所以,我认为,映射关系(alumno_relacion_responsable)并从其他表中定义 bidireccionals OneToMany。
我的实体是:
class Responsable{
// other declarations
/**
* @ORM\OneToMany(targetEntity="ResponsableAlumno", mappedBy="alumno")
*/
protected $hijos;
// More declarations
}
class Alumno{
// other declarations
/**
* @ORM\OneToMany(targetEntity="ResponsableAlumno", mappedBy="responsable")
*/
protected $padres;
// More declarations
}
因此,在关系芯片实体中:
Class ResponsableAlumno{
/**
* @ORM\Id
* @ORM\Column(name="Responsable_IdUsuario")
* @ORM\ManyToOne(targetEntity="Responsable", inversedBy="idusuario")
* @ORM\JoinColumn(name="Responsable_IdUsuario", referencedColumnName="idusuario")
*/
protected $responsable;
/**
* @ORM\Id
* @ORM\Column(name="Alumno_IdUsuario")
* @ORM\ManyToOne(targetEntity="Alumno", inversedBy="idusuario")
* @ORM\JoinColumn(name="Alumno_IdUsuario", referencedColumnName="idusuario")
*/
protected $alumno;
// Other declarations
}
但是,当测试实体时,Symfony 说(在加载脚本上):
注意:未定义索引:/var/www/AppsManantiales/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 中的 alumno
关于我的错误是什么的任何想法?