У меня есть сущность "A" со следующим свойством:
manyToOne:
b:
targetEntity: App\Entity\B
joinColumn:
name: b_id
referencedColumnName: id
Как я могу обновить значение сущности "A" при немедленном удалении сущности "B"?
Например:
$a = new A();
$b = $bRepository->find(1);
$a->setB($b);
$em->persist($a);
$em->flush();
// table a: table b:
// +----+------+ +----+
// | id | b_id | | id |
// +----+------+ +----+
// | 1 | 1 | | 1 |
// +----+------+ +----+
$em->remove($b);
$em->flush();
// table a: table b:
// +----+------+ +----+
// | id | b_id | | id |
// +----+------+ +----+
// | 1 | NULL |
// +----+------+
Я могу сделать это с помощью триггера MySQL, но, возможно, существует некоторая конфигурация для таблицы или доктрины, чтобы сделать это без триггеров?
Основная проблема заключается в том, чтоЯ не могу изменить сущность «B» или обновить сущность «A», удалив $a->setB(null); $em->persist($a);
на «B», поскольку она находится в общем комплекте и используется в нескольких проектах