gpt4 book ai didi

php - 具有多对多关系的 Doctrine Two Entities 中的问题,cli 工具在创建模式时报告错误(SchemaException)

转载 作者:行者123 更新时间:2023-11-29 00:53:26 25 4
gpt4 key购买 nike

我创建了两个 Doctirne 实体,它们之间有多对多的关系。但是当我尝试从该模式创建数据库表时,我得到一个奇怪的异常,这是一个 SchemaException 说“具有 somename 的表已经存在”但是当我仔细检查数据库时,它不包含任何 table 。请指导我解决这个问题。谢谢

实体医生

<?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;
}
}

实体病人

<?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;
}
}

这是我在创建 Schema 时从 Doctrine cli 工具收到的错误。

请关注这个link对于我附上的屏幕截图,它清楚地显示了错误。

最佳答案

将 Patients 模型中的 @Table(name="doctors") 更改为 @Table(name="patients")

关于php - 具有多对多关系的 Doctrine Two Entities 中的问题,cli 工具在创建模式时报告错误(SchemaException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7266722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com