无法在 Laravel 的双 foreach 循环中对数据进行排序

Unable to Sort data in dual foreach loop in Laravel

我正在使用 Subject 模型和 Review 模型获取 User 的数据。相关 UserReview 中有一个评分栏。我想做的是首先获取最高评分但失败了。

这是我的控制器:

function guest()
{
    $topTutors = User::where('type', 'tutor')->with('subject')->with('review')->get();     

    return view('welcome', compact('topTutors'));
}
@foreach($topTutor->review as $singleReview)
    <div class="star-rating" data-rating="{{ $singleReview->rating }}"></div>
@endforeach

这是我无法使用 sortbyDesc 对数据进行排序的 Blade,但它不起作用:

尝试根据用户的评论评分对用户进行排序:

$topTutors = User::where('type', 'tutor')
    ->with('subject', 'review')
    ->get()
    ->sortbyDesc(function($user) {
        return $user->review->max('rating');
    });