Doctrine会在不调用flush()的情况下使用remove()删除对象吗?

时间:2013-08-23 15:17:13

标签: php symfony doctrine

在我的symfony2应用程序中,我遇到了类型错误:

E_ERROR: Allowed memory size of * bytes exhausted (tried to allocate 32 bytes)

那就是说,我正在重构我的代码,但我发现如何删除doctrine对象的唯一方法是调用方法remove()

根据Symfony的文件:

方法remove()通知Doctrine您要从数据库中删除一行,但在您致电flush()

之前,学说将不会执行任何操作

我的问题是......

我是否可以使用remove()从内存中删除对象的方式调用unset?只要我不打电话flush()

如果没有,使用“Symfony方式”做事情的“取消设置”对象的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

你正在寻找的是告诉学说停止引用php可以释放内存的这些对象。你可能不想删除数据库行,因为php的内存不足......

Read how to detach entitieswhat are the different entities states及其含义。