我正在尝试在数据库中插入一条新记录。我有两张桌子bootstrap_tour和bootstrap_tour_step.id的boostrap_tour表外键tour_id的bootstrap_tour_step表。对应的实体如下所示:BootstrapTour.php/** * @var int * * @ORM\Column(name="id", type="integer", options={"unsigned"=true}) * @ORM\Id * * @JMS\Groups({"auth_read_postbootstraptours"}) * @JMS\Type("integer") * @JMS\Accessor(getter="getId") */protected $id;/** * @var ArrayCollection[BootstrapTourStep] * * @ORM\OneToMany(targetEntity="BootstrapTourStep", mappedBy="bootstrapTour", cascade={"persist"}) * * @JMS\Groups({"auth_read_postbootstraptours"}) */private $bootstrapTourSteps;/** * Object instantiation. */public function __construct(){ parent::__construct(); $this->bootstrapTourSteps = new ArrayCollection();}/** * Sets a collection of BootstrapTourStep objects. * * @param ArrayCollection|null $bootstrapTourSteps * * @return BootstrapTour */public function setBootstrapTourSteps(?ArrayCollection $bootstrapTourSteps): BootstrapTour{ $this->bootstrapTourSteps = $bootstrapTourSteps; return $this;}/** * Returns a collection of BootstrapTourStep objects. * * @return Collection[BootstrapTourStep]|null */public function getBootstrapTourSteps(): ?Collection{ return $this->bootstrapTourSteps;}/** * Adds a Step to the tour. * * @return BootstrapTour */public function addBootstrapTourStep(BootstrapTourStep $bootstrapTourStep): BootstrapTour{ $bootstrapTourStep->setBootstrapTour($this); $this->bootstrapTourSteps[] = $bootstrapTourStep; return $this;}
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
添加步骤集合时,您没有在步骤上设置与游览的关系。这样,步骤实体被添加到游览中,但步骤本身不知道它们属于哪个游览。
如果现在学说试图坚持这些步骤,他们对巡演的引用丢失了,因此您会得到丢失的tour_id异常。
这个 ...
public function setBootstrapTourSteps(?ArrayCollection $bootstrapTourSteps): BootstrapTour
{
$this->bootstrapTourSteps = $bootstrapTourSteps;
return $this;
}
... 应该:
public function setBootstrapTourSteps(?ArrayCollection $bootstrapTourSteps): BootstrapTour
{
$this->bootstrapTourSteps = new ArrayCollection();
foreach ($bootstrapTourSteps as $step) {
$step->setBootstrapTour($this);
$this->bootstrapTourSteps->add($step);
}
return $this;
}
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消