Laravel Eloquent Relations: ->latest()

2020-02-26 15:34发布

问题:

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...

回答1:

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.



回答2:

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


回答3:

->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.