Doctrine只返回相关实体的一个参数



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

Offerentity:

/**
* @ORMId()
* @ORMGeneratedValue()
* @ORMColumn(type="integer", options={"unsigned":true})
* @Groups({"regularOffer"})
*/
private $id;
/**
* @ORMOneToOne(targetEntity=OfferInvalidPrice::class, mappedBy="offer", cascade={"persist", "remove"})
* @Groups({"regularOffer"})
*/
private $invalidPrice;

OfferInvalidPriceentity:

/**
* @ORMId
* @ORMOneToOne(targetEntity=Offer::class, inversedBy="invalidPrice")
* @ORMJoinColumn(name="offer_id", referencedColumnName="id")
*/
private $offer;
/**
* @ORMColumn(type="integer", options={"unsigned":true})
* @Groups({"regularOffer"})
*/
private $hasInvalidPrice;

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

-invalidPrice: 1

代替:

-invalidPrice: AppEntityOfferInvalidPrice {#1551
-offer: AppEntityOffer {#1532}
-hasInvalidPrice: 1
}

目前通过编辑getInvalidPricegetter解决了这个问题:

public function getInvalidPrice(): ?int
{
return $this->invalidPrice ? $this->invalidPrice->getHasInvalidPrice(): null;
}

我返回hasInvalidPrice属性,而不是整个invalidPrice对象。

最新更新