Campsite と WeatherForecast という 2 つのエンティティ間に oneToMany 関連付けがあります。キャンプ場に新しい天気予報を追加する前に、既存のものをすべてクリアしたいと考えています。私は次のことを試みますが、削除クエリはまったく実行されません。誰でもこれに光を当てることができますか?
$campsite = $campsiteRepository->find('campsite-2013-100006');
echo $campsite->getForecasts()->count() . PHP_EOL; //Outputs 7
$campsite->getForecasts()->clear();
echo $campsite->getForecasts()->count(); //Outputs 0
$em->persist($campsite);
$em->flush();
キャンプ場エンティティ
/**
* @ORM\OneToMany(targetEntity="AcsiCampsiteWeather\Entity\Forecast", mappedBy="campsite")
* @var \Doctrine\Common\Collections\ArrayCollection $forecasts
*/
protected $forecasts = null;
予測エンティティ
/**
* @ORM\ManyToOne(targetEntity="AcsiCampsite\Entity\Campsite", inversedBy="forecasts", fetch="LAZY")
* @ORM\JoinColumn(name="relationID", referencedColumnName="relationID", nullable=false)
* @var \AcsiCampsite\Entity\Campsite $campsite
*/
protected $campsite = null;