Мне нужно после получения запроса от sql с Eloquent, создать groupBy('date')
и sortBy('price')
с collect
в Laravel 5.3
.Как использовать sortBy после groupBy в сборе в Laravel 5.3?
В IndexController
:
$flights = Flights::GetFlights($fromCity, $toCity, $fromDate);
$collection = collect($flights);
$sortFlight = $collection->groupBy('date')->sortBy('price');
В Model
:
public function scopeGetFlights($query, $fromCity, $toCity, $fromDate)
{
// Between dates
$beforeDate = date('Y-m-d', strtotime($fromDate . '- 10 days'));
$afterDate = date('Y-m-d', strtotime($fromDate . '+ 10 days'));
$join = $query
-> join('airlines', 'airlines.pana', 'flights.airline')
-> where('flights.from_city', $fromCity)
-> where('flights.to_city', $toCity)
-> whereBetween('flights.date', [$beforeDate, $afterDate])
-> get([
'flights.*',
'airlines.pana as pana',
'airlines.name as airlineName'
]);
return $join;
}
Затем Print_r($sortFlight)
, после печати groupBy('date')
это работает но sortBy('price')
не работает !!!!
Где моя проблема?
Привет @Punit .., Как использовать 'SortBy ('flights.price')' в Collect? – mySun