1
チームレコードのすべての関連するプロファイルレコード(HAS_MANY)を繰り返し処理するコードがあります。それはこのようになります関連レコードを解放してYii1のメモリを解放する
:
$team = Team::model()->findByPk(1);
$score = 0;
foreach ($team->profiles as $profile) {
$score += $profile->getScore();
}
今私は$team
変数を維持する必要がありますが、理由はループのすべてのプロファイルはprofiles
プロパティに保持され、メモリのトンを使用します。
これを安全にクリーニングする方法はありますか? あなたが残しておきたい私には思える、私はnull
にprofiles
の設定について思ったが、それは明らかにヌルのまま(とコードの別の部分が上後でprofiles
にアクセスする必要がある場合、私は知らない)私が言ったように
あなたは '$ team'変数を保持したいと同時に、たくさんのメモリを使用するので、あなたはそうしないでください。その場合、私はそれらを1つずつ解除し、必要に応じてデータベースから再度取得します。または、何らかの種類の一時ファイルに格納します。私の意見では別の方法があるとは思わない。 –
いいえ、いいえ。私は '$ team'変数を保持する必要がありますが、おそらく' profiles'プロパティを保持する必要はありません。少なくとも、使用されるすべての '$ team'レコードに対してではありません。 – skerit