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

时间:2019-01-04 10:21:30

标签: php laravel eloquent

我正在尝试更新已创建并包含数据的Eloquent集合。

我想做的是:

  1. 创建一个新集合
  2. 实施for-each循环并将具有唯一ID的数组添加到此集合(使用if-else条件)
  3. 如果if-else条件遇到重复的ID,则具有相同ID的现有记录应通过结合重复的ID的属性来更新其属性。

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

我应该得到的是一个包含数组的新集合,这些数组包含来自包含重复ID的原始数组的合并数据。

0 个答案:

没有答案