【问题标题】:One-to-One-or-Zero relationship in Symfony/DoctrineSymfony/Doctrine 中的一对一或零关系
【发布时间】:2022-11-27 05:24:39
【问题描述】:

我有一个用户表和一个订阅表。每个用户可以有零个或一个订阅,一个订阅只能属于一个用户。

Symfony 提供了创建一对一关系的选项,但是在这样的关系中,两者都需要存在。删除一个也会删除另一个。例如,如果我删除订阅,那么即使用户也会被删除。

有针对这个的解决方法吗?

我已经尝试过一对一关系。

【问题讨论】:

  • 从下面的答案中移出:如需进一步支持,请通过提供您尝试过的代码以及您需要特定支持的地方来帮助我们。

标签: symfony doctrine-orm doctrine symfony6


【解决方案1】:
/**
 * One User has zero/one Subscription.
 * @OneToOne(targetEntity="Subscription", orphanRemoval= false)
 * @JoinColumn(name="subscription_id", referencedColumnName="id", nullable=true)
 */
private Subscription $subscription = null;

你确定你已经尝试了所有的选择吗?

孤儿移除关联的属性确保/避免关联的孤立对象被删除。

可为空应该允许没有订阅的用户。

当然,您可能需要将其设置为双向(因此也从订阅的角度描述关联)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多