몇 시간을 StackOverflow를 통과하여이 쿼리로 재생했지만 아직 작동하지 않습니다! 잘하면 여기에 전문가가 고통을 사라지게 만들 수 있습니다 ...레일스 - 관련 이벤트 인스턴스의 시작 날짜순으로 정렬 된 고유 이벤트 가져 오기
두 가지 모델, Event 및 EventInstance 있습니다. 이벤트 has_many EventInstances. 내가 원하는 무엇
는 이벤트 (하지 EventInstances)의 목록을 얻을 쉽게입니다 :
- 이벤트 독특하고
- 이벤트가 가장 가까운 EventInstance의 시작일으로 분류되어 반복하지를
- 이벤트 인스턴스는 속성이 있습니다
나는 현재 쿼리
Event.joins(:event_instances).select('distinct events.*').where('event_instances.start_date >= ?', Time.now).where('event_instances.active = true')
이 이벤트의 목록을 반환을 가지고 있지만 날짜별로 정렬되지 않습니다. 우수 - 그래서 거의 다 왔어! 나는 끝에이 추가 쿼리를 변경하는 경우
는 :
PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
그래서 내가 select 문으로 이동 : select('distinct event_instances.start_date, events.*')
.order('event_instances.start_date')
나는 오류
이제 알겠습니다.
PG::UndefinedFunction: ERROR: function count(date, events) does not exist
include를 사용하여 주위를 움직이는 방법을 시도했지만 모든 기능을 사용할 수는 없습니다. 어떤 도움이라도 정말 감사 할 것입니다! 고맙습니다. 당신이 하강해야하는 경우
두 모델 모두의 필드를 언급 해 주실 수 있습니까? –