Я пытаюсь удалить галерею из галереи.Как удалить galleryhasmedia из галереи sonatamediabundle
Однако у субъекта галереи нету удаленной галереи или чего-то еще.
поэтому я сделал неуклюжий способ, но он не работает.
$em = $this->getDoctrine()->getManager();
$firstGhmArray = $gallery->getGalleryHasMedias();
echo count($gallery->getGalleryHasMedias()) // before count
$afterGhmArray = array();
foreach ($firstGhmArray as $ghm){
if ($ghm->getId() == $id){ // id is the target id to delete
//delete
}
else {
array_push($afterGhmArray , $ghm);
}
$gallery->setGalleryHasMedias($afterGhmArray);
}
echo count($gallery->getGalleryHasMedias()) // after count
$em->persist($gallery);
$em->flush();
Я думаю, что если галереяHasMedias - это обычная коллекция массивов.
Я могу удалить элемент с помощью этой процедуры.
Мне нужно сделать что-то еще для galleryhasmedia ??
Спасибо за ответ, но результат такой же. Я предполагаю, что что-то не так с persist not clearing array. Я могу правильно очистить массив объектов, но не могу обновить db. просто гадать, хотя ..... – whitebear
Вы можете попробовать foreach ($ galleryHasMedias как $ media) {$ em-> remove ($ media);} –