将Eloquent(Laravel 4.2)结果组合到基于值的多维数组中


Combine Eloquent (Laravel 4.2) Results Into Multidimensional Array Based On A Value

我有一个从Laravel 4.2 Query Builder返回的数组,我正在尝试重新排列一点。我似乎不知道如何得到我想要的结果。

    array (size=8)
  0 => 
    object(stdClass)[565]
      public 'id' => int 53
      public 'vehicle_id' => int 11
      public 'date' => string '2015-10-27' (length=10)
  1 => 
    object(stdClass)[563]
      public 'id' => int 55
      public 'vehicle_id' => int 11
      public 'date' => string '2015-10-29' (length=10)
  2 => 
    object(stdClass)[567]
      public 'id' => int 61
      public 'vehicle_id' => int 7
      public 'date' => string '2015-10-30' (length=10)
  3 => 
    object(stdClass)[561]
      public 'id' => int 63
      public 'vehicle_id' => int 6
      public 'date' => string '2015-10-30' (length=10)
  4 => 
    object(stdClass)[572]
      public 'id' => int 64
      public 'vehicle_id' => int 8
      public 'date' => string '2015-10-30' (length=10)
  5 => 
    object(stdClass)[580]
      public 'id' => int 65
      public 'vehicle_id' => int 9
      public 'date' => string '2015-10-30' (length=10)
  6 => 
    object(stdClass)[579]
      public 'id' => int 66
      public 'vehicle_id' => int 10
      public 'date' => string '2015-10-30' (length=10)
  7 => 
    object(stdClass)[578]
      public 'id' => int 57
      public 'vehicle_id' => int 11
      public 'date' => string '2015-10-31' (length=10)

所需结果示例:

array(
  '2015-10-27' => array(11),
  '2015-10-30' => array( 6, 7, 8, 9, 10 ), 
  '2015-10-31' => array(11)
)

我试过用foreach循环嵌套for循环等。有一段时间我都快疯了。我是不是错过了一些简单的东西?

$dates = [];
foreach($yourArray as $obj) {   
    $dates[$obj->date][] = $obj->vehicle_id;
}