我对条令2很陌生,对数据库表关系不太了解。我理解多对一、一对多、一对一和多对多关系的运作方式。我只是对下面使用条令CLI生成数据库表时出现的错误感到困惑。
[DoctrineORMORMException]
Column name `id` referenced for relation from KentEntityDoctorSpecialties towards KentEntityDoctors does not exist.
请查看此github链接以查看我的实体。(Doctors.php和DoctorSpecialties.php)
https://github.com/aldee07/Doctor-Finder/tree/development-september/library/Kent/Entity
注意:我使用的是Zend Framework 1.11.12
这些是必须放在DoctorSpecialties类上的注释
@ManyToOne(targetEntity="Doctors")
@JoinColumn(name="doctor_id", referencedColumnName="doctor_id")
在多对多关系中,您必须引用第三个forignkey表
所以更改这个
/**
*
* @var Doctors
* @ManyToMany(targetEntity="Doctors", mappedBy="specialties")
* @JoinTable(name="doctor_specialties")
*/
protected $doctors
希望这对有帮助
我认为你最好看看这里:http://www.doctrine-project.org/jira/browse/DDC-2646?page=com.atlassian.jira.plugin.system.issuetabpanels:changehistory-选项卡