无法在 Laravel 的双 foreach 循环中对数据进行排序
Posted
技术标签:
【中文标题】无法在 Laravel 的双 foreach 循环中对数据进行排序【英文标题】:Unable to Sort data in dual foreach loop in Laravel 【发布时间】: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
【参考方案1】:
尝试根据用户的评论等级对用户进行排序:
$topTutors = User::where('type', 'tutor')
->with('subject', 'review')
->get()
->sortbyDesc(function($user)
return $user->review->max('rating');
);
【讨论】:
还是一样!请查看屏幕截图。 photos.app.goo.gl/SFerAecUmHX222CW6 @ショーアイブ 哦,您正在尝试根据用户的评论评级对用户进行排序,请查看我的更新答案。 啊啊啊还是一样!! :l 请查看我的刀片代码docs.google.com/document/d/… @shiョーアイブ 提供的链接无法访问。 请立即查看:docs.google.com/document/d/…以上是关于无法在 Laravel 的双 foreach 循环中对数据进行排序的主要内容,如果未能解决你的问题,请参考以下文章
如何在刀片模板的 foreach 循环中访问 laravel 集合?