Laravel MapWithKeys пример

Имею две Laravel коллекции

//До
array:3 [
  2 => array:4 [
    0 => array:12 [
      "id" => 757
      "client_name" => "name"
      "start_balance" => "139.73"
      "end_balance" => "139.73"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 2
      "created_at" => "2021-03-16T22:45:31.000000Z"
    ]
    1 => array:12 [
      "id" => 758
      "client_name" => "name"
      "start_balance" => "139.72"
      "end_balance" => "139.72"
      "margin_change" => "0.00"
      "fin_result" => "0.27"
      "commision_fee" => "0.28"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.28"
      "swap_rate" => "0.00"
      "client_account_id" => 2
      "created_at" => "2021-03-18T22:45:31.000000Z"
    ]
    2 => array:12 [
      "id" => 759
      "client_name" => "name"
      "start_balance" => "133.95"
      "end_balance" => "133.95"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 2
      "created_at" => "2021-03-23T22:45:31.000000Z"
    ]
    3 => array:12 [
      "id" => 760
      "client_name" => "name"
      "start_balance" => "133.80"
      "end_balance" => "133.80"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 2
      "created_at" => "2021-03-25T22:45:31.000000Z"
    ]
  ]
  9 => array:4 [
    0 => array:12 [
      "id" => 828
      "client_name" => "name"
      "start_balance" => "1.00"
      "end_balance" => "1.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 9
      "created_at" => "2021-03-16T08:02:01.000000Z"
    ]
    1 => array:12 [
      "id" => 829
      "client_name" => "name"
      "start_balance" => "1.00"
      "end_balance" => "1.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 9
      "created_at" => "2021-03-18T08:02:01.000000Z"
    ]
    2 => array:12 [
      "id" => 830
      "client_name" => "name"
      "start_balance" => "1.00"
      "end_balance" => "1.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 9
      "created_at" => "2021-03-23T08:02:01.000000Z"
    ]
    3 => array:12 [
      "id" => 831
      "client_name" => "name"
      "start_balance" => "1.00"
      "end_balance" => "1.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 9
      "created_at" => "2021-03-25T08:02:01.000000Z"
    ]
  ]
  14 => array:4 [
    0 => array:12 [
      "id" => 851
      "client_name" => "name"
      "start_balance" => "0.00"
      "end_balance" => "0.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 14
      "created_at" => "2021-03-17T13:44:30.000000Z"
    ]
    1 => array:12 [
      "id" => 852
      "client_name" => "name"
      "start_balance" => "0.00"
      "end_balance" => "0.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 14
      "created_at" => "2021-03-19T13:44:30.000000Z"
    ]
    2 => array:12 [
      "id" => 853
      "client_name" => "name"
      "start_balance" => "0.00"
      "end_balance" => "0.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 14
      "created_at" => "2021-03-24T13:44:30.000000Z"
    ]
    3 => array:12 [
      "id" => 854
      "client_name" => "name"
      "start_balance" => "0.00"
      "end_balance" => "0.00"
      "margin_change" => "0.00"
      "fin_result" => "0.00"
      "commision_fee" => "0.00"
      "commision_fee_nds" => "0.00"
      "full_commision_fee" => "0.00"
      "swap_rate" => "0.00"
      "client_account_id" => 14
      "created_at" => "2021-03-26T13:44:30.000000Z"
    ]
  ]
]
 
//После
array:3 [
  2 => array:7 [
    "margin_change" => 0.0
    "fin_result" => 0.27
    "full_commision_fee" => 0.28
    "swap_rate" => 0.0
    "client_name" => "name"
    "start_balance" => "139.73"
    "end_balance" => "133.80"
  ]
  9 => array:7 [
    "margin_change" => 0.0
    "fin_result" => 0.0
    "full_commision_fee" => 0.0
    "swap_rate" => 0.0
    "client_name" => "name"
    "start_balance" => "1.00"
    "end_balance" => "1.00"
  ]
  14 => array:7 [
    "margin_change" => 0.0
    "fin_result" => 0.0
    "full_commision_fee" => 0.0
    "swap_rate" => 0.0
    "client_name" => "name"
    "start_balance" => "0.00"
    "end_balance" => "0.00"
  ]
]
 

Как используя метод mapWithKeys привести коллекцию "до" в состояние "после"? Необходимо сложить некоторые элементы коллекции и оставить по одному элементу в каждой подколекции.


Ответы (0 шт):