gpt4 book ai didi

php - 如何防止 EntityManager (Doctrine Association) 删除

转载 作者:可可西里 更新时间:2023-11-01 08:39:46 26 4
gpt4 key购买 nike

我遇到了以下问题:

我有一个与客户一对一、单向关联的实体查询:

/**
* @var Customer
*
* @ORM\OneToOne(targetEntity="Customer", cascade={"persist"}, fetch="EAGER")
* @ORM\JoinColumn(name="Customer", referencedColumnName="id", onDelete="SET NULL", nullable=true)
*/
protected $customer;

如果我通过数据库后端 (PhpMyAdmin) 删除客户,那么一切都很好:客户字段设置为空,但如果我使用 EntityManager 删除客户对象,那么查询也会被删除,为什么?

$em = $this->getDoctrine()->getManager();
$em->remove($customer);
$em->flush();

我只想将它设置为空。

抱歉我的英语不好,我希望有人能帮忙;)

许多问候

最佳答案

您对映射的注释有误。试试这个

/**
* @ORM\ManyToOne(targetEntity="Customer")
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $customer;

关于php - 如何防止 EntityManager (Doctrine Association) 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839716/

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