【发布时间】:2019-05-29 12:16:56
【问题描述】:
如何使用 laravel 集合优雅地执行以下操作?
将 $baseMap 的值映射为集合的键。
底图:
$baseMap = [
'name' => 'new_name',
'year' => 'new_year',
];
收藏:
$items = collect([
[
'name' => 'name1',
'year' => '1000',
'not_in_basemap' => 'foo'
],
[
'name' => 'name2',
'year' => '2000',
'not_in_basemap' => 'foo'
],
//...
]);
最终结果:
$result =[
[
'new_name' => 'name1',
'new_year' => '1000',
],
[
'new_name'=> 'name2',
'new_year' => '2000',
],
];
我知道如何用普通的 php 来做,只是想知道一个不错的集合版本会是什么。谢谢!
【问题讨论】:
-
查看
only()方法。不确定语法,但类似于:$result = $items->only($base_map);您可能必须使用$items->only($base_map->toArray());将 $base_map 设为数组 -
@ourmandave :这是一个开始,但它只会删除键 not_in_baseMap ,它不会将项目中的键替换为 baseMap 中的值
标签: laravel laravel-5.7