在保留我的实体之前,我想根据三个字段检查它是否不存在。 我知道如何使用注释“ UniqueEntity”,但它对我不起作用,因为我不能使用常规的“ formType”。 总而言之,我的问题是:在symfony 2中,在控制器中执行唯一实体检查的最佳方法是什么?
我已经考虑过要获取一个ID数组,然后使用“ in_array”函数来决定是否保留我的实体。但是我不确定这种方法的效率。
我希望数据库中已经存在的实体(根据3个字段)不会保留。
谢谢您的回答。
答案 0 :(得分:0)
这不是一个很好的方法,但是如果您不能使用UniqueEntity
,则可以在存储库中执行findBy
并决定是否保留您的实体。
$entityExists = $em->getRepository('MyBundle:MyEntity')->findBy(array('field1' => $value1,'field2' => $value2,'field3' => $value3));