Как обновить данные коллекции новыми значениями? - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь обновить созданную мной коллекцию Eloquent, содержащую данные.

Что я хочу сделать, это:

  1. Создать новую коллекцию
  2. Реализация цикла for-each и добавление массивов с уникальными идентификаторами в эту коллекцию (с использованием условия if-else)
  3. Когда условие 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);

Что я должен получить, так это новую коллекцию с массивами, содержащими объединенные данные из исходного массива, содержащего дублированные идентификаторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...