2
如何使用活動記錄構成以下查詢?Rails中的複雜SQL代碼
SELECT c.*
FROM `course_enrollments` ce JOIN courses c ON ce.course_id = c.id
WHERE ce.created_at
BETWEEN '2000-01-01' and '2012-01-01' [AND ANOTHER POSSIBLE CONDITION]
GROUP BY c.id
我希望能夠做一些事情,如:(我知道下面是不正確的,但我只是想表明一個普通的例子)
courses = Course.joins(:course_enrollments).where('course_enrollments.created_at' => params[:start_date]..params[:end_date]).group('courses.id')
if some_condition
courses = courses.where(:some_field => 1)
end
如果它們是可變的,則是 - 否則,否則:where(「course_enrollments.created_at between?和?」,params [:start_date],params [:end_date]) –
。除非需要,否則我不使用綁定變量。 –