假设我有两个实体college
和department
,其中大学有多个部门(一对多)。我的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
答案 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并创建新的部门