Symfony2和学说:如何进行原子操作?
想象一下这个场景: 我有一些必须从数据库中删除的实体的ID数组(即,将记录标识到第三个表中的两个externals键)和一些必须更新/插入的实体的ID数组(基于一些目前并不重要的标准) 如何删除这些实体Symfony2和学说:如何进行原子操作?,symfony,doctrine-orm,Symfony,Doctrine Orm,想象一下这个场景: 我有一些必须从数据库中删除的实体的ID数组(即,将记录标识到第三个表中的两个externals键)和一些必须更新/插入的实体的ID数组(基于一些目前并不重要的标准) 如何删除这些实体 从数据库加载它们(存储库方式) 对获取的对象调用delete() 在我的实体管理器上调用flush() 在这种情况下,我可以使所有操作原子化,因为我可以在调用flush()之前更新/插入其他记录 但是为什么我必须从db加载一些记录来删除它们呢?因此,我将我的个人DQL查询(写入repo)并调
- 从数据库加载它们(存储库方式)
- 对获取的对象调用
delete()
- 在我的实体管理器上调用
flush()
flush()
之前更新/插入其他记录
但是为什么我必须从db加载一些记录来删除它们呢?因此,我将我的个人DQL查询(写入repo)并调用它。问题是,如果我在repo中调用这个函数,这个操作会立即完成,因此我的“原子性”无法得到保证 那么,我如何通过遵循第二个“删除选项”来“跳过”这个障碍呢?使用
flush()。这也是可能的,这种方法应该能解决你的问题