Я хочу выбратьbrand
name
только из $collect
, что я могу сделать, чтобы достичь этого?Ливер детского ребенка в Laravel
ток:
$collect = collect([
0 => [
['name' => 'iPhone 6S', 'brand' => ['name' => 'Apple', 'type' => 'brand', 'id' => 1]],
],
1 => [
['name' => 'Galaxy S7', 'brand' => ['name' => 'Samsung', 'type' => 'brand', 'id' => 2]],
],
]);
Ожидаемый результат:
$collect = collect([
0 => [
['name' => 'iPhone 6S', 'brand' => ['name' => 'Apple']],
],
1 => [
['name' => 'Galaxy S7', 'brand' => ['name' => 'Samsung']],
],
]);
EDIT
Я попытался с помощью карты() и каждый (коллекции), предоставленные Laravel, но ни один из них не поможет.
EDIT (РОСС)
Это сработало:
$collect->transform(function ($item) {
$itemData = collect($item);
return $itemData->transform(function ($item, $key) {
if($key == 'brand') {
$item = array_only($item, 'name');
}
return $item;
});
});
Вернитесь к нему, да? lol Могу ли я спросить, зачем вам нужно выбирать определенные данные? Dropdowns? –
@MikeBarwick этот вопрос сейчас другой. Это не выпадающие меню, но я стараюсь не раскрывать данные по моему API. – Coder
В этом случае просто 'foreach'. Это безопасный, чистый и читаемый код. –