【发布时间】:2016-03-11 19:51:23
【问题描述】:
我正在寻找一个集合并返回包含集合中两个字段的平面数组。我想要什么:
$collection = new Collection([
[
"a"=>"a1",
"b"=>"b1",
"c"=>"c1"
],
[
"a"=>"a2",
"b"=>"b2",
"c"=>"c2"
],
[
"a"=>"a3",
"b"=>"b3",
"c"=>"c3"
]
]);
//desired output:
[
["a1","b1"],
["a2","b2"],
["a3","b3"]
];
我以为这是一个函数,但事实并非如此:
$collection->lists(["a","b"]);
考虑到这些可能有数千行,我当前的解决方案似乎效率不高:
$collection->lists("a")->zip($collection->lists("b"));
有没有我缺少的功能?谢谢。
编辑:我也使用过这样的地图:
$collection->map(function($row)){
return [$row['a'],$row['b']];
}
这似乎比我想要的更习惯。如果没有原生方式,我可能最终会用这个函数为 Collection 编写一个包装器..
【问题讨论】:
标签: laravel collections laravel-5.2