1. ホーム
  2. laravel

[解決済み] コレクション要素をフェッチした後、アンセット(削除)するには?

2022-11-04 15:06:31

質問

私はコレクションを持っており、その要素のいくつかをフェッチしながら反復して変更したいです。しかし、私はそのフェッチされた要素を削除する方法またはメソッドを見つけることができませんでした。

$selected = []; 
foreach ($collection as $key => $value) {
      if ($collection->selected == true) {
          $selected[] = $value;
          unset($value);
      }
}

これはデモのために私の質問を表現したものです。

@Ohgodwhyがforget()関数をアドバイスした後、私は再びそれをチェックし、私が実際に関数を誤解していたことを知りました。それはまさに私が探していたものでした。

というわけで、作業用のソリューションとして、私は $collection->forget($key) を追加しました。

以下は、@Ohgodwhy さんの解決策を使用した、私の問題の作業解決策です。

$selected = []; 
foreach ($collection as $key => $value) {
      if ($collection->selected == true) {
          $selected[] = $value;
          $collection->forget($key);
      }
}

(これは単なるデモンストレーションです)

どのように解決するのですか?

あなたは ->forget()

$collection->forget($key);

へのリンク 忘却メソッドのドキュメント