С Symfony / Doctrine проверьте, не ссылается ли на сущность другая - PullRequest
0 голосов
/ 11 марта 2019

При удалении объекта я часто проверяю, не связан ли объект с другими, прежде чем разрешить его удаление:

public function deleteAction(Operation $operation)
{
    if ($operation->getArticles()->isEmpty() && $operation->getMessages()->isEmpty()) {
        $em = $this->getDoctrine()->getManager();
        $em->remove($operation);
        $em->flush();
        $this->addFlash('success', sprintf("Operation deleted", $operation));
    } else {
        $this->addFlash('danger', sprintf("Can't delete operation.", $operation));
    }

    return $this->redirectToRoute('operation');
}

Но этот метод подразумевает знание всех отношений между сущностью и другими, и я должен проверить каждую из них. Использование try...catch вместо этого иногда полезно, но удаление не всегда вызывает исключение.
Есть ли другой (более общий) способ проверить наличие ссылок на мою сущность перед ее удалением?

...