Raffy Alcoriza
Raffy Alcoriza

Reputation: 147

Sorting timestamps in Eloquent

Newbie here in Laravel 4. Say I have a model ("Activity") that has a timestamp column, along with other metadata. When I print it out in HTML, it is arranged from earliest to latest, which won't be ideal.I want to sort it from latest to earliest, because I'm going after an activity log.

Here's the code on the view:

@foreach ($activities as $activity)
<tr class="activity">
    <td>{{ $activity->timestamp }}</td>
    <td>{{ $activity->activity }}</td>
</tr>
@endforeach

Here's the controller code, which arranges these stuff:

public function getActivity()
{
        return View::make('app.website.activity', array('activities' => Activity::all()));
}

Is there anything I can do with Activity::all() to sort it out by time?

Thanks!

Upvotes: 7

Views: 12910

Answers (1)

Altrim
Altrim

Reputation: 6756

If you are using the default laravel timestamps you can get the activities in descending order like this:

Activity::orderBy('created_at','desc')->get();

If you have manually added your timestamp column you can get them in descending order like this:

Activity::orderBy('timestamp','desc')->get();

Hope this is what you are looking for.

Upvotes: 11

Related Questions