Can't seem to get my head around of sorting laravel collection so empty
/ null
data would end up being last. ( bit confused about usort )
Pretty much all I have is bunch of times
/ timestamps
that need to be ordered. Some rows may not have for that column.
I would like data to appear ASC
/ ascending
while empty/null
data is shown last.
$collection->sortBy('timestamp')
sorts nicely but doesn't know how to deal with empty fields.
Table looks like this.
$data = $data->sort(function($a, $b) use ($sortBy) {
if ($a->{$sortBy} and $b->{$sortBy}) return 0;
return ($a->{$sortBy} > $b->{$sortBy}) ? -1 : 1;
});
Random code I tried from the internet, which I can't get to work correctly.
$sortBy
contains a field name to sort by ( since it may change )
Faulty code deals with empty / null data but its out of order.