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();}