我有一个工作正常的查询:
@schedule = Schedule.find(params[:id])
@schedule_tasks = ScheduleTask.select("s.*, t.*, t.*, d.*, st.*").from("schedule_tasks st").
joins("left join schedules s ON s.id = st.schedule_id").
joins("left join tasks t ON t.id = st.task_id").
joins("right join days d ON d.id = st.day_id").
order("d.number, t.name").
group_by{|d| d.number}
我不得不将搜索细化为仅具有特定 schedule_id 的 schedule_tasks,因此我将第二行编辑为:
joins("left join schedules s ON s.id = st.schedule_id AND s.id = ?", @schedule.id).
这导致了以下错误:
unknown class: Fixnum
如果我取出 group_by,错误就会消失 - 但我需要那个,我已经尝试用数字而不是 @schedule.id 进行硬编码,但这也不起作用,谷歌搜索没有透露很多关于这个的细节错误。