@TANK_IST

Как правильно удалять сущности у которых есть отношения?

Нужно удалить пользователя.
5ad8d37e538f8069075638.png
Написал такой код
$notification = $user->getNotificationSettings();
                            $em->remove($notification);

                            $groups = $user->getGroups();
                            foreach ($groups as $value) {
                                $em->remove($value);
                            }

                            $myShops = $user->getMyShops();
                            foreach ($myShops as $value) {
                                $em->remove($value);
                            }

                            $referrals = $user->getReferrals();
                            foreach ($referrals as $value) {
                                $em->remove($value);
                            }

                            $em->remove($user);
                            $em->flush();


Полагаю что удаляю так как получаю ошибку
5ad8d4af53704207778515.png

Как правильно удалять отношения?
  • Вопрос задан
  • 491 просмотр
Пригласить эксперта
Ответы на вопрос 1
voronkovich
@voronkovich
Если вы хотите удалять связи - используйте каскадное удаление (или SET NULL). Как-то так:

//* @Entity */
class Group
{
    /**
     * @ManyToMany(targetEntity="User")
     * @JoinTable(
     *     joinColumns={@JoinColumn(onDelete="CASCADE")},
     *     inverseJoinColumns={@JoinColumn(onDelete="CASCADE")}
     * )
     */
    private $users;
}


https://www.doctrine-project.org/projects/doctrine...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы