Laravel 8.x realationship – Use HasMany in HasOne

I’m trying to use a HasMany relation in a HasOne.

I have following Models:

class Auction extends Model
{
    //...
    public function bids(): HasMany
    {
        return $this->hasMany(Bid::class, 'auction_id');
    }

    public function approvedBids(): HasMany
    {
        return $this->bids()->approved();
    }

    public function topBids(): HasMany
    {
        return $this->approvedBids()->orderByDesc('offered_token_price')->take(10);
    }

    public function topBid(): HasOne
    {
        //return $this->topBids()->firstOfMany(); // Not Working
        //return $this->hasOne(Bid:class, 'auction_id)->ofMany('price','max')->approved(); // not working
        //return $this->hasOne(Bid:class, 'auction_id)->approved()->ofMany('price','max'); // not working
        //return $this->hasOne(Bid::class, 'auction_id')->ofMany('price', 'max'); // working but not as I expecting
    }

}

class Bid extends Model
{
    //...
    public function scopeApproved(Builder $query): Builder
    {
        return $query->where('state', BidState::STATE_APPROVED);
    }
    //...
}

As you can see in the source, I’m looking for a way to make a relation that retrieve the Top Bid (ONE BID) from topBids() relation, but I don’t know how, and none of my approaches works:

$this->topBids()->firstOfMany(); // Not Working
$this->hasOne(Bid:class, 'auction_id')->ofMany('price','max')->approved(); // not working
$this->hasOne(Bid:class, 'auction_id')->approved()->ofMany('price','max'); // not working