gpt4 book ai didi

orm - Doctrine 可选的 OneToOne 映射

转载 作者:行者123 更新时间:2023-12-04 10:05:30 24 4
gpt4 key购买 nike

我正在尝试在 Doctrine 中创建一个可选的 OneToOne 映射。

我有一个包含所有城市和邮政编码的表格(不应更改此表格),我有一个包含地址和映射城市的表格。但有时我不想在开始时将 City 添加到我的地址中(也许稍后会)。但是当我不向地址添加城市时,地址上的持久性给了我一个反射异常,因为没有像 'null' 这样的对象,它应该是 de City 对象。

我不想每次都在数据库中添加一个空的城市,因为城市表中不应该添加或删除任何内容。

有什么建议?或者我错过了什么?

class Address{
/**
* @OneToOne(targetEntity="City")
* @JoinColumn(name="city_id", referencedColumnName="id")
*/
private $city = '';

我考虑过的可能解决方案:
  • 在 db 中创建一个空的 city 对象并将其始终分配给新创建的 Address 对象(可能会导致大量开销)
  • 使用城市数组创建多对多关系,因此可以添加零个或多个城市(我可以限制地址对象中的城市数量),但随后我需要一个映射表...
  • 最佳答案

    只需简单地添加 nullable=true@JoinColumn注解

    关于orm - Doctrine 可选的 OneToOne 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6869983/

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