【问题标题】:Unable to Sort data in dual foreach loop in Laravel无法在 Laravel 的双 foreach 循环中对数据进行排序
【发布时间】:2020-05-05 20:37:14
【问题描述】:

我正在使用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 的数据进行排序但它不起作用的刀片:

【问题讨论】:

  • 请您展示一下您是如何使用sortByDesc()的。
  • @foreach($topTutor->review->sortByDesc('rating') as $singleReview) @dump($singleReview) @endforeach
    这是代码但是对输出没有影响!查看截图:photos.app.goo.gl/5etyyQqHcqoKAWqVA

标签: laravel foreach eloquent laravel-blade laravel-query-builder


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2014-06-13
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 2020-06-17
  • 2019-11-08
  • 1970-01-01
相关资源
最近更新 更多