[RUBY-ON-RAILS] 주 / 월 / 등 및 액티브에 의해 그룹화?
RUBY-ON-RAILS주 / 월 / 등 및 액티브에 의해 그룹화?
내 제품에 약간의 정적 계산을하고 있어요. 사용자는 작업의 번호를 수행의 게시 의견을 말 할 수있다. 나는 그들이 지난 한 달 동안 일주일에 게시하거나 지난 1 년간 한 달에 얼마나 많은 댓글을 보여줄 수 있어야합니다.
그룹 액티브 어떤 방법이 방법이 있나요? 가장 최선은 단순히 수동으로 수행하는 것입니다 - 반복 기록을 통해 내 자신의 기준에 따라 합산?
class User < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :user
end
@user.comments(:all).map {|c| ...do my calculations here...}
또는 더 좋은 방법은 무엇입니까?
감사합니다! 귀
해결법
-
==============================
1.포스트 그레스에서 당신은 할 수 있습니다 :
포스트 그레스에서 당신은 할 수 있습니다 :
@user.comments.group("DATE_TRUNC('month', created_at)").count
얻을 수 있습니다 :
{"2012-08-01 00:00:00"=>152, "2012-07-01 00:00:00"=>57, "2012-09-01 00:00:00"=>132}
그것은 그룹화 "천년"에서 "마이크로"의 값을 허용합니다 http://www.postgresql.org/docs/8.1/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC
-
==============================
2.이 경우, 나를 위해 가장 좋은 방법은 바로 SQL에서 그것을 할, 그렇지 루비 GROUP_BY 기능을 사용하는 것이 었습니다 :
이 경우, 나를 위해 가장 좋은 방법은 바로 SQL에서 그것을 할, 그렇지 루비 GROUP_BY 기능을 사용하는 것이 었습니다 :
@user.all.group_by{ |u| u.created_at.beginning_of_month }
-
==============================
3.다음은이의 더 세련된 버전입니다
다음은이의 더 세련된 버전입니다
@user.comments.group("year(created_at)").group("month(created_at)").count
-
==============================
4.내 생각 같은 것입니다 :
내 생각 같은 것입니다 :
@user.comments.count(:group => "year(created_at),month(created_at)")
드라이 코드, YMMV
-
==============================
5.사용 GROUP_BY
사용 GROUP_BY
@user.comments.group_by(&:week) class User < ActiveRecord::Base def week some_attribute_like_date.strftime('%Y-%W') end end
이렇게하면 YYYY-WW의 형식으로 그룹화 된 목록을 제공합니다
-
==============================
6.has_activity 플러그인을 확인하세요.
has_activity 플러그인을 확인하세요.
-
==============================
7.그룹 날짜 보석을 확인
그룹 날짜 보석을 확인
https://github.com/ankane/groupdate
그것은 최근의 커밋을 가지고 PostgreSQL을 함께 작동하여 통합을 빠르고 쉽게 차트에 대한 차트 킥, 그리고 시간대와 함께 작동!
from https://stackoverflow.com/questions/902974/grouping-by-week-month-etc-activerecord by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 레일 3.0.x 버전으로 Log4r를 구성? (0) | 2020.02.25 |
---|---|
[RUBY-ON-RAILS] 왜 우리는 레일에 @@ 클래스 변수를 사용하지 않도록해야합니까? (0) | 2020.02.25 |
[RUBY-ON-RAILS] 설치 "와 같은 파일을로드 할 수 없습니다 - mkmf을"우분투에 실패 난간 (0) | 2020.02.25 |
[RUBY-ON-RAILS] 루비 온 레일즈에 www가 URL에 www가 아닌 요청을 리디렉션 (0) | 2020.02.25 |
[RUBY-ON-RAILS] 검증 실패 : 업로드 파일의 내용과 일치하지 않는 확장자가 (0) | 2020.02.25 |