将数据添加到Laravel集合

将数据添加到Laravel集合,laravel,collections,Laravel,Collections,我试着用Laravel系列来做一个简单的案例。我正在建立一个家具项目集合,之后我想用其他信息修改项目行: $collection = collect([ ['name' => 'Desk', 'color' => 'Black'], ['name' => 'Chair', 'color' => 'Black'], ['name' => 'Bookcase', 'color' => 'Red'], ]); 我想根据项目键“name”(例

我试着用Laravel系列来做一个简单的案例。我正在建立一个家具项目集合,之后我想用其他信息修改项目行:

$collection = collect([
    ['name' => 'Desk', 'color' => 'Black'],
    ['name' => 'Chair', 'color' => 'Black'],
    ['name' => 'Bookcase', 'color' => 'Red'],
]);
我想根据项目键“name”(例如),为一些项目添加一个“stock_value”字段。最后,我希望该系列成为:

['name' => 'Desk', 'color' => 'Black', 'stock_value' => 4],
['name' => 'Chair', 'color' => 'Black'],
['name' => 'Bookcase', 'color' => 'Red', 'stock_value' => 9]
我不知道如何做到这一点。任何帮助都将不胜感激

$stockValue = 9;

return $collection->transform(function ($array) use ($stockValue) {
        if ($array['name'] === 'Desk') {
            $array['stock_value'] = $stockValue;
        }

        return $array;
    });

您可以使用
transform
修改您的收藏。

哦,好的,看起来不错。如何在闭包中传递变量?比如说股票价值?我希望9是一个变量。您可以将变量添加到
use
语句-答案更新