Скажем, у меня есть следующие моделиActiveRecord запроса фильтрации вложенных моделей
Course has_many :students
Course has_many :lectures
Lecture has_many :topics
Если я:
courses = Course.find(:all, :includes => [:students, {:lectures => :topics}])
Я получаю все курсы, студенты, лекции и темы.
Я хочу получить только курсы, в которых есть определенные ученики, а затем для каждого из этих курсов нужно только получить определенные лекции, но все темы для каждой из этих лекций.
Так скажите, что я хочу получить все курсы со студентом по имени «Джон», но только две самые последние лекции для каждого из этих курсов и все темы для этих двух лекций.
Я не понимаю, как применить эти фильтры к исходному запросу выше.
Хотелось бы узнать, как выполнять такие запросы.
Im используя рельсы 3.2 –
Я рекомендую использовать драгоценный камень «squeel» (https://github.com/ernie/squeel). Он имеет гораздо более «интуитивный» синтаксис, и вы можете найти документацию, которую вы ищете в github. – benams
В каком поле вы хотите определить, является ли лекция «последней»? – PinnyM