2

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;
4

1 に答える 1