Extract last submission per user to Exercise model

This commit is contained in:
Maximilian Grundke
2018-02-04 16:27:11 +01:00
parent 08f16447f3
commit 06928340c9
2 changed files with 14 additions and 13 deletions

View File

@ -368,4 +368,14 @@ class Exercise < ActiveRecord::Base
user_exercise_feedbacks.size <= MAX_EXERCISE_FEEDBACKS
end
def last_submission_per_user
Submission.joins("JOIN (
SELECT
user_id,
first_value(id) OVER (PARTITION BY user_id ORDER BY created_at DESC) AS fv
FROM submissions
WHERE exercise_id = #{id}
) AS t ON t.fv = submissions.id").distinct
end
end