如何添加新的键值对以响应laravel中的groupBy?

如何添加新的键值对以响应laravel中的groupBy?,laravel,laravel-5,group-by,Laravel,Laravel 5,Group By,我有一个订单表,其中包含id、订单id、用户id等 我将groupBy应用于订单,如下所示: $orders = DB::table('orders')->whereUserId($userId)->groupBy('order_id')->get(); foreach($orders as $order){ $order['ee']='test'; } 所以,我得到的回应是: Collection {#547 ▼ #items: array:1 [▼

我有一个订单表,其中包含id、订单id、用户id等

我将groupBy应用于订单,如下所示:

$orders = DB::table('orders')->whereUserId($userId)->groupBy('order_id')->get();
foreach($orders as $order){

   $order['ee']='test';
 }
所以,我得到的回应是:

Collection {#547 ▼
  #items: array:1 [▼
    "d0b942a572941b90f385" => Collection {#535 ▼
      #items: array:4 [▼
        0 => Order {#561 ▶}
        1 => Order {#562 ▶}
        2 => Order {#563 ▶}
        3 => Order {#564 ▶}
      ]
    }
  ]
}
现在我在这里应用foreach循环,这样我就可以将新的kew值对添加到上面4个数组中,但现在它添加了这个新的键值对。我完成了如下代码:

$orders = DB::table('orders')->whereUserId($userId)->groupBy('order_id')->get();
foreach($orders as $order){

   $order['ee']='test';
 }

我没有弄错,因为我在foreach循环中逐行检查它,然后它正确地添加它,但当我在循环外检查时,它现在向我显示这个新的键值对

如果你想修改你创建的元素,最好使用map:

$orders = $orders->map(function($order) {
   $order['ee'] = 'test';
   return $order;
});