【问题标题】:Laravel - Collection using map not overriding previous object valueLaravel - 使用地图收集不覆盖先前的对象值
【发布时间】:2020-05-22 01:57:41
【问题描述】:

我正在尝试覆盖集合中的一个值。基本上我在我的收藏中对开发者有这个价值:

【问题讨论】:

    标签: laravel collections


    【解决方案1】:

    分配给新变量

    map 返回一个新的集合实例;它不会修改 收集它被调用。如果你想改造原来的 收藏,使用transform方法。

    $inquiries = collect([
            (object) [
                "id" => 6,
                "developer" => (object) [
                    "id" => 3,
                    "name" => "Club Wyndham",
                ],
            ],
        ]);
    
    $collection = $inquiries->map(function ($inquiry) {
       $inquiry->developer = $inquiry->developer->name;
       return $inquiry;
    });
    
    // result as collection
    return $collection;
    
    // result as array
    return $collection->all();
    

    结果

    [
      {
        id: 6,
        developer: "Club Wyndham"
      }
    ]
    

    【讨论】:

    • 没用。还是看成"developer":{"id":3,"name":"Wyndham"}
    • 不工作,但我编辑了我的问题。也许有更多信息会有所帮助。
    • @Fly_Moe 你可以再看看我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2021-06-07
    相关资源
    最近更新 更多