通过采集照亮支持集合并获取多个值

时间:2017-06-13 19:53:11

标签: php laravel

我有Collection喜欢这个

  [  
     {  
        "user_id":1,
        "chat_id":1,
        "chat_hidden":0,
        "access_time":"2017-06-10 00:28:11",
        "name":"Dr. Harley Raynor",
        "image_url":null
     },
     {  
        "user_id":1,
        "chat_id":2,
        "chat_hidden":1,
        "access_time":"2017-06-12 10:59:37",
        "name":"Dr. Harley Raynor",
        "image_url":null
     }
  ]

如果我只想从中获取user_id,并像这样格式化数组

  [  
     {  
        "user_id":1
     },
     {  
        "user_id":1
     }
  ]

我写Collection()->pluck('user_id'),一切正常,但如果我需要带几件物品怎么办?与user_idchat_id一样?我尝试->pluck('user_id', 'chat_id')->pluck(['user_id', 'chat_id'])->only('user_id', 'chat_id')似乎无效。

1 个答案:

答案 0 :(得分:0)

只需使用map;

$myCollection->map(function($item) {
    return [
       'user_id' => $item->user_id,
       ....
    ];
});

但是如果你正在构建api,我强烈建议你使用某种变换器https://github.com/spatie/laravel-fractal来处理包含和排除,以便服务成熟。