【发布时间】:2015-06-16 13:10:06
【问题描述】:
我有两个实体。用户和联系人。用户和联系人具有相同的属性 phone_number。如果存在,我想获取与用户对象的所有联系人。也有可能相同的电话号码存在于联系人表中,但它不存在于用户表中。
以下是联系人实体中的注释:
/**
* @ORM\OneToOne(targetEntity="Dlabs\ServiceBundle\Entity\User", mappedBy="contact")
* @ORM\JoinColumn(name="phone", referencedColumnName="phone_number", nullable=true)
*/
private $user;
当我更新架构时,出现以下错误:
[Doctrine\DBAL\DBALException] 执行时发生异常 'ALTER TABLE 联系人添加约束 FK_83DFDFA4444F97DD 外键 (phone) REFERENCES users (phone_number) NOT DEFRRABLE INITIALLY 立即':SQLSTATE [23503]:外键违规:7 错误:插入 或更新表“联系人”违反外键约束 “fk_83dfdfa4444f97dd”详细信息:键(电话)=(+38640775xxx)不是 出现在“用户”表中。
[PDOException] SQLSTATE[23503]:外键违规:7 错误: 在表“contact”上插入或更新违反外键约束 “fk_83dfdfa4444f97dd”详细信息:键(电话)=(+38640775xxx)不是 出现在“用户”表中。
有谁知道我应该以哪种方式更改我的注释,这样才能奏效?谢谢!
【问题讨论】:
标签: symfony doctrine-orm