title: Laravel collection sortBy not taking effect
body: <p>I'm trying to combine and sort the results from several db queries.</p>
  
  <pre><code>$events = collect();
  
  $downedEvents = EventDowned::where('mission', $missionId)
     -&gt;orderBy('mission_time', 'asc')
     -&gt;get();
  
  $events-&gt;push($downedEvents);
  
  $getInOutEvents = EventGetInOut::where('mission', $missionId)
     -&gt;orderBy('mission_time', 'asc')
     -&gt;get();
  
  $events-&gt;push($getInOutEvents);
  
  $missileEvents = EventMissile::where('mission', $missionId)
     -&gt;orderBy('mission_time', 'asc')
     -&gt;get();
  
  $events-&gt;push($missileEvents);
  
  $flattenedEvents = $events-&gt;flatten();
  $sortedEvents = $flattenedEvents-&gt;sortBy('mission_time');
  
  return $sortedEvents-&gt;all();
  </code></pre>
  
  <p>The result looks like this:</p>
  
  <p><img src="https://d3vv6lp55qjaqc.cloudfront.net/items/012i3v3H222J070U1c3o/Screen%20Shot%202017-03-12%20at%2022.39.09.png?X-CloudApp-Visitor-Id=220295" alt="ss"></p>
  
  <p>As you can see it has correctly combined the results, however they remain in their original query order, not sorted.</p>
  
  <p>I've also tried</p>
  
  <pre><code>$sortedEvents = $flattenedEvents-&gt;sortBy(function($event) {
      return (int) $event-&gt;mission_time;
  });
  </code></pre>