无法在 Laravel 的双 foreach 循环中对数据进行排序
Unable to Sort data in dual foreach loop in Laravel
我正在使用 Subject
模型和 Review
模型获取 User
的数据。相关 User
的 Review
中有一个评分栏。我想做的是首先获取最高评分但失败了。
这是我的控制器:
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');
});
我正在使用 Subject
模型和 Review
模型获取 User
的数据。相关 User
的 Review
中有一个评分栏。我想做的是首先获取最高评分但失败了。
这是我的控制器:
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');
});