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

Php 照亮支持集合并通过Pull获取多个值,php,laravel,Php,Laravel,我喜欢这个 [ { "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":

我喜欢这个

  [  
     {  
        "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\u id
,并像这样格式化数组

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

我写了
Collection()->pull('user_id')
,一切正常,但如果我需要带几样东西呢?像
user\u id
chat\u id
?我试了
->pull('user\u id','chat\u id')
->pull('user\u id','chat\u id')
->only('user\u id','chat\u id')
似乎没有任何效果。

只要使用
地图就行了

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

但是,如果您正在构建一个api,我强烈建议您使用某种类型的转换器,例如在将来服务成熟时处理包含和排除。

Pulk仅适用于1项,不幸的是,如果这是后期检索,您可能会想使用
map()
。如果不是后期检索,您可以使用
only()
选择()