2012-04-04 5 views
1

나는 특정 시간 (6 시간 = 21600)을 저장하는 "discussion_duration"열을 포함하는 테이블을 가지고 있습니다. 이 테이블을 'created_at'+ 'discussion_duration'으로 정렬하고 싶습니다.created_at by another value

ruby에 created_at 및 discussion_duration을 추가 할 수 있으며 날짜를 반환합니다. 그러나 레일 .order()의 매개 변수는 원시 SQL이기 때문에이 두 필드를 추가 한 다음 출력별로 정렬하는 방법을 모르겠습니다.

도움을 주시면 감사하겠습니다.

+0

(http://apidock.com/rails/ActiveRecord/QueryMethods/order) 당신은'.order' 뭔가를 보낼 수 없습니다 좀 더 복잡한 .DB 레벨에서 created_at로 주문한 다음 Ruby 코드 (또는 코드의 모든 순서)에서 더 복잡한 것으로 주문 하시겠습니까? – MrDanA

답변

1

편집 : 실제로 이것은 아마도 당신이 찾고있는 것입니다. 데이터베이스의 날짜/시간 함수를 사용하여이를 수행해야하며, 여기에 mysql 예제가있다. API Dock의 내 지식의 가장 (및보고

.order('TIMESTAMPADD(SECOND, discussion_duration, created_at)')

+0

이 코드가 작동해야합니다! 고맙습니다. T는 전에 TIMESTAMPADD 함수를 보았다. – fridgerator

+0

나는 또한 사용할 수있는 것 같습니다 :'created_at + INTERVAL discussion_duration SECOND DESC'' – fridgerator