Ruby On Rails Запрашивает из модели, но возвращает поля других таблиц - PullRequest
1 голос
/ 17 марта 2011
active_courses_past_week = CourseEnrollment.select("courses.*").
joins(:course).
where("date(course_enrollments.created_at) BETWEEN ? and ?", Date.parse(start_date.strftime('%Y-%m-%d')), Date.parse(end_date.strftime('%Y-%m-%d'))).
group("courses.id")

Вышеприведенный запрос кажется странным, потому что я запрашиваю информацию о зачислении на курсы, но меня интересуют только данные о курсе, где они записаны между двумя датами. Это кажется странным, потому что я не использую ни одно из полей в модели CourseErnollment. Есть предложения?

1 Ответ

2 голосов
/ 17 марта 2011

Так я бы написал, используя диапазон вместо «сырого» SQL.

active_courses_past_week = CourseEnrollment.where(:created_at =>  start_date..end_date))
                                           .joins(:course)
                                           .group(courses.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...