Fab*_*lbi 5 sql activerecord ruby-on-rails
我正在努力在我的假imdb模仿网站中添加一个排序功能.
我的电影通过协会有很多评论.不幸的是,我找不到如何通过索引页面的评论平均值来订购@movies对象.
显然,这个
includes(:reviews).order("reviews.rating_out_of_ten desc")
Run Code Online (Sandbox Code Playgroud)
不起作用它只能通过每部电影的第一次评论来订购.如何编写它以便按所有相关评论的平均值排序?
提前谢谢了
为了按平均电影分数排序,请加入评论表并使用avgorder by 子句中的函数,即
Movie
.select('movie_id, movie_name, avg(reviews.rating_out_of_ten)')
.join(:reviews)
.group('movie_id, movie_name')
.order('avg(reviews.rating_out_of_ten) desc')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |