在我的symfony2应用程序中,我遇到了类型错误:
E_ERROR: Allowed memory size of * bytes exhausted (tried to allocate 32 bytes)
那就是说,我正在重构我的代码,但我发现如何删除doctrine对象的唯一方法是调用方法remove()
。
根据Symfony的文件:
方法remove()
通知Doctrine您要从数据库中删除一行,但在您致电flush()
我的问题是......
我是否可以使用remove()
从内存中删除对象的方式调用unset
?只要我不打电话flush()
?
如果没有,使用“Symfony方式”做事情的“取消设置”对象的最佳方法是什么?
答案 0 :(得分:1)
你正在寻找的是告诉学说停止引用php可以释放内存的这些对象。你可能不想删除数据库行,因为php的内存不足......
Read how to detach entities和what are the different entities states及其含义。