2017-02-17 26 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; 
});