Php 具有多对多关系的两个实体中存在问题,cli工具在创建架构时报告错误(SchemaException)
我创建了两个Doctirne实体,它们之间有多对多关系。但是,当我试图从该模式创建db表时,我得到了一个奇怪的异常,这是一个SchemaException,它说“具有somename的表已经存在”,但当我仔细检查数据库时,它根本不包含任何表。请指导我解决这个问题。谢谢 实体医生Php 具有多对多关系的两个实体中存在问题,cli工具在创建架构时报告错误(SchemaException),php,mysql,doctrine,many-to-many,relationships,Php,Mysql,Doctrine,Many To Many,Relationships,我创建了两个Doctirne实体,它们之间有多对多关系。但是,当我试图从该模式创建db表时,我得到了一个奇怪的异常,这是一个SchemaException,它说“具有somename的表已经存在”,但当我仔细检查数据库时,它根本不包含任何表。请指导我解决这个问题。谢谢 实体医生 <?php use Doctrine\Common\Collections\ArrayCollection; /** * @Entity * @Table(name="doctors") */ class D
<?php
use Doctrine\Common\Collections\ArrayCollection;
/**
* @Entity
* @Table(name="doctors")
*/
class Default_Model_Doctor
{
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/** @Column(type="string") */
private $name;
/**
* @ManyToMany(targetEntity="Default_Model_Patient", inversedBy="doctors")
* @JoinTable(name="doctors_patients",
* joinColumns={@JoinColumn(name="doctor_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="patient_id", referencedColumnName="id")}
* )
*/
private $patients;
public function __construct()
{
$this->patients = new ArrayCollection();
}
public function setName($string) {
$this->name = $string;
return true;
}
public function getName() {
return $this->name;
}
}
将患者模型中的@Table(name=“doctors”)更改为@Table(name=“Patients”)将患者模型中的@Table(name=“doctors”)更改为@Table(name=“Patients”)
<?php
use Doctrine\Common\Collections\ArrayCollection;
/**
* @Entity
* @Table(name="doctors")
*/
class Default_Model_Patient
{
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/** @Column(type="string") */
private $name;
/**
* @ManyToMany(targetEntity="Default_Model_Doctor", mappedBy="patients")
*/
private $doctors;
public function __construct()
{
$this->doctors = new ArrayCollection();
}
public function setName($string) {
$this->name = $string;
return true;
}
public function getName() {
return $this->name;
}
}