我有两种关系,一种与 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()