user3253002
user3253002

Reputation: 1671

Laravel Eloquent Relations: ->latest()

What is the function of latest() in laravel?

Example:

public function activity()
{
    return $this->hasMany('App\Activity')
        ->with(['user', 'subject'])
        ->latest();
}

From Build an activity feed in Laravel on line 44.

I've been looking in the laravel documentation, but I couldn't find it...

Upvotes: 56

Views: 160742

Answers (4)

Berthold Feujo
Berthold Feujo

Reputation: 358

Add ->get() on your code like this:

public function activity()
{
    return $this->hasMany('App\Activity')
        ->with(['user', 'subject'])
        ->latest()->get();
}

Upvotes: 9

Muhammad Bilal
Muhammad Bilal

Reputation: 3008

latest() function in Laravel used to get latest records from database using default column created_at.

latest()is the equivalent to orderBy('created_at', 'desc')

Upvotes: 0

Joseph N
Joseph N

Reputation: 249

->latest() fetches the most recent set of data from the Database. In short, it sorts the data fetched, using the 'created_at' column to chronologically order the data.

Upvotes: 8

nextt1
nextt1

Reputation: 3988

latest() is a function defined in Illuminate\Database\Query\Builder Class. It's job is very simple. This is how it is defined.

public function latest($column = 'created_at')
{
    return $this->orderBy($column, 'desc');
} 

So, It will just orderBy with the column you provide in descending order with the default column will be created_at.

Upvotes: 130

Related Questions