From abdd6458d3135c9bdc0c3dc9ab93af6c69b854ca Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 24 Dec 2014 15:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=8A=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=AF=84=E5=88=86=E3=80=8B=20Signed-off-by:=20alan=20<54753343?= =?UTF-8?q?4@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index c50946dda..13a79e0a0 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -896,15 +896,19 @@ class CoursesController < ApplicationController teachers = find_course_teachers(@course) score_count = 0 - homework_scores = HomeworkAttach.find_by_sql("SELECT homework_attaches.user_id as user_id,homework_attaches.bid_id as bid_id, bids.name as name, - (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' - AND rateable_id = homework_attaches.id AND rater_id IN (#{teachers}) ) AS t_score, - (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' - AND rateable_id = homework_attaches.id AND rater_id NOT IN (#{teachers})) AS s_score + + homeworks = HomeworkAttach.find_by_sql("SELECT homework_attaches.id FROM homework_attaches, bids where homework_attaches.bid_id IN (SELECT bid_id FROM homework_for_courses where course_id = #{@course.id} and homework_attaches.bid_id = bids.id)") - homework_scores + homeworks = homeworks.map {|homework| homework.id}.join(",") + homework_scores = HomeworkAttach.find_by_sql("SELECT homework_attaches.user_id, AVG(s1.stars) AS t_score, + AVG(s2.stars) AS s_score + FROM homework_attaches, seems_rateable_rates s1,seems_rateable_rates s2 WHERE + homework_attaches.id in (#{homeworks}) and s1.rateable_type = 'HomeworkAttach' and s1.rateable_id = homework_attaches.id + AND s1.rater_id IN (#{teachers}) and s2.rateable_type = 'HomeworkAttach' + and s2.rateable_id = homework_attaches.id + AND s2.rater_id not IN (#{teachers})") end #获取课程的老师列表 def find_course_teachers course