0
我在我的网站上有一个标签系统,点击标签会将您带到与该标签关联的项目列表。我想以这些项目(击球手)的平均评分得分来评价他们,因此评分最高的击球手首先显示。我将如何做到这一点?在标签系统上排序
我的表:
板球运动员:ID,姓名,COUNTRY_ID,评论:ID,等级,评论,Batsmen_id标签:身份证,标记名Batsmen_tag(多对多表):batsmen_id,TAG_ID
目前我例如,我只需在标签控制器中找到所有标签($ id),然后使用带关系的foreach来返回与该标签相关的击球手。控制器:那带回板球运动员和HTML
当前TagController代码
public function show($id)
{ // $tag = Tag::find($id);
return view('tags.show')->withTag($tag);
}
HTML:
@foreach($tag->batsmen as $tags)
@endforeach
这就是我如何找回没有相关的标签batsmens以及如何订购它们在最高的AVG上:
$Batsmen = Batsmen::where('approved', '=', 1)
->leftJoin('reviews', 'reviews.batsmen_id', '=', 'batsmen.id')
->select('batsmen.*', DB::raw('AVG(ratings) as ratings_average'))
->groupBy('id')
->orderBy('ratings_average', 'DESC')
->get();
那么我如何把这两个并拉回击球员r对标签感兴趣并以最高的平均值排序?
这回来了一个语法错误的,任何想法订单后? – dionarap
@dionarap添加一个分号..我的不好;) – Ohgodwhy
那里关于男人?甚至无法看到自己的错误 – dionarap