原则:在同一插入过程中避免重复

时间:2018-08-09 08:37:52

标签: php symfony doctrine

在插入实体时,是否存在内置的方法/建议来处理重复的条目,而每个条目都没有刷新?

让我们假设我们有一个包含两个字段的人员实体。 ID和personalNr。 ID是主键,而personalNr也具有唯一性约束。

现在我要遍历一个csv文件,其中一个personalNr可以在多行中列出。

如果该行包含一个personalNr,我将对照存储库检查是否存在带有此personalNr的条目。如果是,我将数据集链接到具有personalNr的人。如果没有,我用personalNr创建一个新人,然后将其与数据集联系起来。

现在的问题是:

如果一个PersonalNr在csv文件中出现多次,则当我再次找到该数据集时,该数据集已经存在于实体管理器中,但尚未保存到数据库中(到目前为止,我不称其为刷新)。针对存储库的检查将显示“存储库中没有实体”,但是实体管理器将在刷新时引发重复条目异常,因为它尝试创建具有相同personalNr的多个实体。

如何避免这种情况?是保存我自己已插入或未插入的唯一方法吗?学说有这样的检查机制吗?

谢谢

0 个答案:

没有答案