teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

2017/04/12 09:58

投稿

moke
moke

スコア2241

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  @q = Game.joins(:member).references(:member).ransack(params[:q])
6
6
  @q.game_date_gteq = Time.now.strftime("%Y-01-01") if @q.game_date_gteq.nil?
7
7
  @q.game_date_lteq = Time.now.strftime("%Y-12-31") if @q.game_date_lteq.nil?
8
- @games = @q.result(distinct: true).group(:参加者).pluck("members.name,sum(games.参加人数)")#SQLの段階で集計しときます。
8
+ @games = @q.result(distinct: true).group(:member_id).pluck("members.name,count(games.member_id)")#SQLの段階で集計しときます。
9
9
  @games_hash=Hash[*@games.flatten]#hash化
10
10
 
11
11
  #Highchartsの設定

1

a

2017/04/12 09:58

投稿

moke
moke

スコア2241

answer CHANGED
@@ -2,10 +2,10 @@
2
2
  こんな感じになると思います。短くなりすぎですかね?
3
3
  ```ruby
4
4
  #ransackで日付の期間で抽出
5
- @q = Game.ransack(params[:q])
5
+ @q = Game.joins(:member).references(:member).ransack(params[:q])
6
6
  @q.game_date_gteq = Time.now.strftime("%Y-01-01") if @q.game_date_gteq.nil?
7
7
  @q.game_date_lteq = Time.now.strftime("%Y-12-31") if @q.game_date_lteq.nil?
8
- @games = @q.result(distinct: true).group(:参加者).pluck("games.参加者,sum(games.参加人数)")#SQLの段階で集計しときます。
8
+ @games = @q.result(distinct: true).group(:参加者).pluck("members.name,sum(games.参加人数)")#SQLの段階で集計しときます。
9
9
  @games_hash=Hash[*@games.flatten]#hash化
10
10
 
11
11
  #Highchartsの設定