我正在嘗試在數據庫中插入一條新記錄。我有兩張桌子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 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消