gpt4 book ai didi

php - Doctrine2 检查相关实体是否存在

转载 作者:可可西里 更新时间:2023-11-01 13:30:37 25 4
gpt4 key购买 nike

如果数据库中存在相关实体记录,我真的很想弄清楚如何检查 Doctrine 2。请帮助我。

例如我有两个实体。一是某 express 公司的订单状态。另一个是顺序。

Order.php

/**
* @ORM\OneToOne(targetEntity="Application\DeliveryBundle\Entity\DpdOrderStatus", mappedBy="order")
* @var DpdOrderStatus
*/
$dpdOrderStatus;

DpdOrderStatus.php

/**
* @ORM\Id
* @ORM\OneToOne(targetEntity="\Application\FrontendBundle\Entity\Order", inversedBy="dpdOrderStatus")
* @ORM\JoinColumn(onDelete="CASCADE")
* @var Order
*/
$order;

订单实体有时没有状态,我需要检查它是否有。

据我所知,如果我尝试使用 is_null($order->getDpdOrderStatus()) 它将始终为 false 因为 Doctrine 总是创建 Proxy 如果未指定 EAGER 模式,则为其实体对象。

那么检查我的状态实体是否存在于数据库中的最正确方法是什么?

最佳答案

添加一个方法来检查订单是否有订单状态:

Order.php

public function hasOrderStatus(){
return ! is_null($this->dpdOrderStatus);
}

更多信息:Techniques to check if relationship exists in Doctrine2

关于php - Doctrine2 检查相关实体是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052312/

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