Laravel集合更新项目值使用'其中'

时间:2016-03-24 19:51:23

标签: php laravel collections where

使用where语句时可以更新和保存laravel集合,例如

$collection = collect([
    ['product' => 'Desk', 'price' => 200],
    ['product' => 'Chair', 'price' => 100],
    ['product' => 'Bookcase', 'price' => 150],
    ['product' => 'Door', 'price' => 100],
]);

如何更改100到200之间的所有价格或者像#39; Desk'到'橱柜'?

1 个答案:

答案 0 :(得分:0)

我不认为你可以通过使用where来做到这一点,因为在哪里进行过滤并根据你的谓词返回项目。为什么不使用常规array_map()函数??

$new_collection = array_map(function($item) {

  if($item['price'] == 100) {
     $item['price'] = 200; 
  }

  return $item;

}, $collection);