2017-02-17 19 views
0

私はループを持っているので、それを削除した後、コレクションを繰り返し、状態= 1のオブジェクトを見つける。Laravelでループをコレクション関数に書き換える方法は?

このコードをLaravelのコレクション関数に書き換えるにはどうすればよいですか?

$announcements->every(function ($value) use ($announcements) { 
      foreach($value->offers as $k => $v) { 
       if ($v->status == 1) { 
        unset($value->offers[$k]->publisher); 
       } 
      } 
     }); 

答えて

1

実際には、every() methodは、コレクション内のすべてのアイテムがtrueを返すかどうかをチェックします。代わりにeach() methodを使用して、すべての項目をループして個別にチェックする必要があります。

また、あなたは、コレクションからいくつかのアイテムを削除したい場合は、あなたがfilter() methodを使用することができます。

$fitlered = $announcements->filter(function($value) { 
    return $value->status !== 1; 
}); 
関連する問題