Tôi thực sự mệt mỏi khi tìm ra cách tôi có thể kiểm tra trong Doctrine 2 nếu bản ghi thực thể liên quan tồn tại trong DB. Làm ơn giúp tôi với.Doctrine2 Kiểm tra xem thực thể liên quan có tồn tại
Ví dụ: tôi có hai thực thể. Một là trạng thái đơn đặt hàng của một công ty giao hàng nhất định. Một thứ khác là thứ tự.
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;
thứ tự thực thể đôi khi không có tư cách và tôi cần phải kiểm tra xem nó có.
AFAIK nếu tôi sẽ cố gắng sử dụng is_null($order->getDpdOrderStatus())
nó sẽ luôn luôn được false
vì thuyết luôn tạo Proxy
đối tượng cho các tổ chức của nó nếu chế độ EAGER
không được xác định.
Vì vậy, cách thích hợp nhất để kiểm tra xem thực thể trạng thái của tôi có tồn tại trong cơ sở dữ liệu không?
Bạn đã thử điều đó chưa? Proxy của Doctrine sẽ tải dữ liệu bị thiếu. – meze
Xin lỗi, đó là lỗi của tôi. Tôi có nghĩa là sai tất nhiên. –