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()
或选择()