0

我有两种关系,一种与 OTM,另一种与 OTO。问题是当持久主实体的 id 不包含在其他实体中时。我将向您展示代码:

进口请求实体

/**
     * @var OfferRequest
     * @ORM\OneToOne(targetEntity="MyBundle\Entity\OfferRequest",mappedBy="importationRequest", cascade={"persist"})
     */
private $offerRequest;

/**
     * @var Offers[]|Collection
     * @ORM\OneToMany(targetEntity="MyBundle\Entity\Offer",cascade={"persist"},mappedBy="importationRequest")
     */
    private $offers;

Oferta实体

/**
     * @var ImportationRequest
     * @ORM\ManyToOne(targetEntity="MyBundle\Entity\ImportationRequest", inversedBy="offers")
     */
    private $solicitudImportacion;

提供请求实体

/**
     * @var ImportationRequest
     * @ORM\OneToOne(targetEntity="MyBundle\Entity\ImportationRequest",inversedBy="offerRequest")
     */
    private $importationRequest;

表单非常简单,只是用于添加新优惠的优惠的集合类型字段,但是当我持久化表单(在单独的操作中,表单不相关)时,导入请求 ID 不会与持久化的实体一起保存(优惠和offerrequest 在没有导入请求 ID 的情况下持续存在)。

任何提示?我失去了什么吗?

提前致谢!

编辑

表单 data_class 都是 ImportationRequestEntity 并且在控制器中验证后代码只是

em->flush()
4

0 回答 0