Добрый день, Уважаемое сообщество, требуется Ваша помощь, не могу разобраться с коллекциями, в общем вопрос следующий, имеется несколько массивов ключ=>значение, ключ у всех одинаковый. Как все это собрать в одну коллекцию, чтоб записать в БД. Все данные приведены к нужной форме через функцию map
$item_name= collect($nm)->map(function($item, $key){
return [
'c_id_item' => $key,
'name_item' => $item
];
})->toArray();
$gr_name= collect($gr)->map(function($item, $key) {
return [
'c_id_item' => $key,
'c_id_group_item' => $item
];
})->toArray();
$all_data= collect([]);
$all_data2= collect([]);
$all_data2= $all_data2->merge([$gr_name]);
$all_data2= $all_data2->merge([$item_name]);
$all_data= $all_data->merge($all_data2->toArray());
Вместо того чтоб объеденить как в мануале
$collection = collect(['product_id' => 1, 'name' => 'Desk']); $merged = $collection->merge(['price' => 100, 'discount' => false]); $merged->all(); // ['product_id' => 1, 'name' => 'Desk', 'price' => 100, 'discount' => false]
Я получаю коллекцию, в которой сперва значения $gr_name, затем в хвосте $item_name
Подскажите как нужно объеденить данные, чтоб получилось ['c_id_item' => hfghfgh, 'c_id_group_item' => dfghfgh, 'name_item' => dfgdfg ], причем c_id_item во всех массивах одинаковы. Заранее благодарен за помощь, два дня уже ничего не получается.