Я пытаюсь обновить созданную мной коллекцию Eloquent, содержащую данные.
Что я хочу сделать, это:
- Создать новую коллекцию
- Реализация цикла for-each и добавление массивов с уникальными идентификаторами в эту коллекцию (с использованием условия if-else)
- Когда условие if-else встречается с повторяющимся идентификатором, то существующие записи с тем же идентификатором должны обновлять свои атрибуты путем объединения с атрибутами дублирующего идентификатора.
.
$fee_collection = new Collection();
$count = [];
foreach($feedetail->fee as $feee){
if(in_array($feee->id, $count)){ //check for duplicate ids
$fee_collect = $fee_collection->where('id',$feee->id)->first();
$fee_collect->pivot->amount = $fee_collect->pivot->amount + $feee->pivot->amount;
$fee_collect->pivot->line_discount = $fee_collect->pivot->line_discount + $feee->pivot->line_discount;
$fee_collect->pivot->month_year = str_replace('-28','',$fee_collect->pivot->month_year).",".str_replace('-28','',$feee->pivot->month_year);
// $fee_collection->fill($fee_collect)->save();
} else {
$fee_collection[] = $feee;
$count[] = $feee->id;
}
}
dd($fee_collect);
Что я должен получить, так это новую коллекцию с массивами, содержащими объединенные данные из исходного массива, содержащего дублированные идентификаторы.