Campsite와 WeatherForecast라는 두 엔티티간에 oneToMany 연결이 있습니다. 캠프장에 새로운 예측 정보를 추가하기 전에 기존 정보를 모두 지우고 싶습니다. 다음을 시도하지만 삭제 쿼리는 전혀 실행되지 않습니다. 누구든지 이것에 관해 밝힐 수 있습니까?doctrine 2 컬렉션을 지울 수 없습니다.
$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;
두 엔티티 모두에 매핑 구성을 보여 주시겠습니까? – Exander
예, 내일 직장에있을 때 게시물을 편집하겠습니다. –
@Exander, 관련 주석을 추가했습니다. –