UniqueEntity验证失败 - Symfony?

时间:2017-08-31 07:54:37

标签: mysql symfony doctrine-orm

假设我有两个实体collegedepartment,其中大学有多个部门(一对多)。我的validation.yml看起来像

App\CollegeBundle\Entity\College:
        - departments:
            - Valid: ~
App\CollegeBundle\Entity\Department:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [department_name, HOD ]

当我试图坚持使用n个部门Unique Entity验证的大学实体时,稍后当我尝试将另一个新的department实体添加到college实体并持续{ {1}}验证失败,我收到unique entity,我犯了什么错误?

我在csv文件的每一行使用unique key violation功能我在我的控制器中进行了ajax调用

csv import

1 个答案:

答案 0 :(得分:0)

如果你不创建一所新学院(所以你已经有一所大学实体),但只有一个新的部门试试这个:

//set college
$department->setCollege($college)

$validate = $this->get('validator')->validate($department);
if($validate->count())
{
   return [ "status" => "error" ]
}
else
{
   $em = $this->getDoctrine()->getManager();
   $em->persist($department);
   $em->flush();

   return [ "status" => "success" ];
 }

相反,如果你正在创建一所新学院,我建议你先创建一个新的学院,坚持它并冲洗,取其ID并创建新的部门