dreamworld2007 2019-01-04 10:21
浏览 266

如何使用新值更新集合的数据?

I am trying to update an Eloquent collection that I've created and is containing data.

What i want to do is:

  1. Create a new collection
  2. Implement a for-each loop and add arrays with unique IDs to this collection (using an if-else condition)
  3. When a duplicate ID is encountered by the if-else condition, then the existing record with the same ID should have it's attributes updated by combining with the duplicate ID's attributes.

.

$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);

What i should be getting is a new collection with arrays containing merged data from the original array containing duplicated IDs.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 划分vlan后不通了
    • ¥15 GDI处理通道视频时总是带有白色锯齿
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)
    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大