Symfony Sonata管理:防止针对特定条件的持久化

Symfony Sonata管理:防止针对特定条件的持久化,symfony,doctrine-orm,hook,admin,sonata,Symfony,Doctrine Orm,Hook,Admin,Sonata,我正在使用索纳塔管理。我有两个实体: 休假录入+员工休假录入(1:m) 在我的假期入门管理课程中: 用户选择我想要休假的员工(从多对多关系中) 通过员工对每个员工进行验证 假期输入实体 class VacationEntryAdmin extends Admin { // some // content public function prePersist($cv) { // some // content

我正在使用索纳塔管理。我有两个实体: 休假录入+员工休假录入(1:m)

在我的假期入门管理课程中:

  • 用户选择我想要休假的员工(从多对多关系中)
  • 通过员工对每个员工进行验证 假期输入实体

    class VacationEntryAdmin extends Admin {
    
        // some 
        // content
        public function prePersist($cv)
        {
            // some 
            // content
            $validator = $this->getValidator();
            $errors = $validator->validate($employeeVacationEntry);
            if (count($errors) > 0) {
                foreach ($errors as $error) {
                    $errorsString = $error->getMessage();
                    $employeeName = $error->getRoot()->getEmployee()->getName();
                    $this->getRequest()->getSession()->getFlashBag()->add("danger", $employeeName . ': ' . $errorsString);
                }    //I'd like to stop the persistence of all the Vacation Entry here.
            }
            $em->persist($employeeVacationEntry);
        }
    
    }
    

这方面有什么消息吗?