Doctrine return 相关实体只有一个参数

Doctrine return only one parameter of the related entity

实体 Offer 具有与另一个名为 OfferInvalidPrice 的实体相关的参数。此实体 OfferInvalidPrice 只有一个整数参数 - has_invalid_price。我希望此 has_invalid_price 参数作为单个参数而不是整个 invalidPrice 对象返回。

Offer实体:

/**
 * @ORM\Id()
 * @ORM\GeneratedValue()
 * @ORM\Column(type="integer", options={"unsigned":true})
 * @Groups({"regularOffer"})
 */
 private $id;

 /**
 * @ORM\OneToOne(targetEntity=OfferInvalidPrice::class, mappedBy="offer", cascade={"persist", "remove"})
 * @Groups({"regularOffer"})
 */
private $invalidPrice;

OfferInvalidPrice实体:

 /**
 * @ORM\Id
 * @ORM\OneToOne(targetEntity=Offer::class, inversedBy="invalidPrice")
 * @ORM\JoinColumn(name="offer_id", referencedColumnName="id")
 */
private $offer;

/**
 * @ORM\Column(type="integer", options={"unsigned":true})
 * @Groups({"regularOffer"})
 */
private $hasInvalidPrice;

例如,如果我得到 Offer 对象,它应该包含:

-invalidPrice: 1

而不是:

-invalidPrice: App\Entity\OfferInvalidPrice {#1551
-offer: App\Entity\Offer {#1532}
-hasInvalidPrice: 1
}

目前通过编辑 getInvalidPrice getter:

解决了这个问题
public function getInvalidPrice(): ?int
{
    return $this->invalidPrice ? $this->invalidPrice->getHasInvalidPrice(): null;
}

我 return hasInvalidPrice 属性 而不是整个 invalidPrice 对象。