Laravel Eloquent Relations: ->latest()
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
.
Add ->get()
on your code like this:
public function activity()
{
return $this->hasMany('App\Activity')
->with(['user', 'subject'])
->latest()->get();
}
->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.