2

私の symfony2 アプリケーションで、次のようなエラーが発生しました:

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

とはいえ、私は自分のコードをリファクタリングしている最中ですが、教義オブジェクトを削除する方法について私が見つけた唯一の方法は、メソッドを呼び出すことremove()です。

Symfony のドキュメントによると:

このメソッドremove()は、データベースから行を削除したいことをDoctrineに通知しますが、doctrineはあなたが呼び出すまで何もしませんflush()

私の質問は...

オブジェクトをメモリから削除するremove()のと同じ方法で呼び出すことはできますか? unset私が電話しない限りflush()

そうでない場合、「Symfony の方法」を使用してオブジェクトを「設定解除」する最良の方法は何ですか?

4

1 に答える 1

1

あなたが探しているのは、doctrine に、php がメモリを解放できるこれらのオブジェクトの参照を停止するように指示することです。PHP のメモリが不足しているため、おそらくデータベースの行を削除したくないでしょう...

エンティティをデタッチする方法と、さまざまなエンティティの状態とその意味をお読みください。

于 2013-08-24T06:13:22.597 に答える