Get the newest (or oldest) item of another relation

Since Laravel 8.42, in an Eloquent model, you can define a relation that will get the newest (or oldest) item of another relation.

/**
* Get the user's latest order.
*/
public function latestOrder()
{
return $this->hasOne(Order::class)->latestOfMany();
}
 
/**
* Get the user's oldest order.
*/
public function oldestOrder()
{
return $this->hasOne(Order::class)->oldestOfMany();
}

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 68 courses (1183 lessons, total 43 h 18 min)
  • 90 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent New Courses