【发布时间】:2019-10-15 14:50:00
【问题描述】:
- 比如有这样一个集合
$phone_Id = $request->get('q');
$colors = Phone::find($phone_Id)->color->toArray();
dd($colors);
- 打印结果
array:2 [▼
0 => array:6 [▼
"id" => 8
"name" => "red"
"value" => "#fb6250"
"created_at" => "2019-05-29 01:42:51"
"updated_at" => "2019-05-29 01:42:51"
"pivot" => array:4 [▼
"phone_id" => 1
"color_id" => 8
"created_at" => "2019-05-29 01:42:51"
"updated_at" => "2019-05-29 01:42:51"
]
]
1 => array:6 [▼
"id" => 11
"name" => "blue"
"value" => "#202020"
"created_at" => "2019-05-29 01:42:51"
"updated_at" => "2019-05-29 01:42:51"
"pivot" => array:4 [▼
"phone_id" => 1
"color_id" => 11
"created_at" => "2019-05-29 01:42:51"
"updated_at" => "2019-05-29 01:42:51"
]
]
]
- 我想要的最终结果是这样一个数组
array:2 [▼
0 => array:2 [▼
"id" => 8
"text" => "red"
]
1 => array:2 [▼
"id" => 11
"text" => "blue"
]
]
- 所以我现在的做法是这样的。
$data = [];
foreach ($colors as $key => $val) {
$data[$key]['id'] = $val->id;
$data[$key]['text'] = $val->name;
}
dd($data);
- 打印结果
array:2 [▼
0 => array:2 [▼
"id" => 8
"text" => "red"
]
1 => array:2 [▼
"id" => 11
"text" => "blue"
]
]
想知道在laravel中对于这种需求有没有更好更漂亮的实现?
【问题讨论】:
标签: php arrays laravel collections