【问题标题】:add data to a Laravel collection将数据添加到 Laravel 集合
【发布时间】:2020-04-21 19:24:24
【问题描述】:

我正在尝试将 Laravel 集合用于一个简单的案例。我正在构建一系列家具物品,之后我想用其他信息修改物品行:

$collection = collect([
    ['name' => 'Desk', 'color' => 'Black'],
    ['name' => 'Chair', 'color' => 'Black'],
    ['name' => 'Bookcase', 'color' => 'Red'],
]);

我想根据项目键“名称”(例如)为某些项目添加一个“库存值”字段。最后,我希望收藏变成这样:

['name' => 'Desk', 'color' => 'Black', 'stock_value' => 4],
['name' => 'Chair', 'color' => 'Black'],
['name' => 'Bookcase', 'color' => 'Red', 'stock_value' => 9]

我不知道如何实现。任何帮助将不胜感激。

【问题讨论】:

    标签: laravel collections


    【解决方案1】:
    $stockValue = 9;
    
    return $collection->transform(function ($array) use ($stockValue) {
            if ($array['name'] === 'Desk') {
                $array['stock_value'] = $stockValue;
            }
    
            return $array;
        });
    

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

    【讨论】:

    • 哦,好的,看起来不错。以及如何在闭包内传递变量?例如股票价值?我希望 9 是一个变量。
    • 您可以将变量添加到use 语句中 - 答案已更新
    猜你喜欢
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多