В настоящее время я работаю над проектом synfomy 4.2 с использованием sonata admin и Doctrine ORM .
Я хотел бы прервать выполнение запроса, если для какого-либо условия установлено значение true, например, если я хочу вставить новый Продукт, но Продукт по какой-то причине теряет цену параметра, тогда я хотел бы прервать это запросить и установить флэш-сообщение, чтобы пользователь знал, что Продукт не может быть создан, потому что он имеет низкую цену.
Я провел исследование, но не могу найти ничего, что относится к моей проблеме, я знаю, что эту функцию необходимо применить в функции PrePersist на объекте.
Я ломал голову чем-то вроде этого.
/**
* @ORM\PrePersist
*/
public function prePersist(LifecycleEventArgs $args)
{
$em = $args->getEntityManager("App\Milenio\VersionsControlBundle\Entity\Plugins");
$em->getConnection();
$em->flush();
$em->clear();
}
Но, конечно, это ничего не делает, я все еще вызываю очевидное исключение SQL.
Я знаю, что есть способы сказать sonata admin сделать требуемый ввод, но в моем конкретном случае это не поможет.