0

とにかく、下に行を入れることで、Railsコンソールで結果を取得できます

group = UserGroup.find_by_sql("select user_group_memberships.user_group_id, sum(-bets.amount + bets.amount_paid) as bankroll_net_profit  from bets  inner join user_group_memberships ON bets.user_id = user_group_memberships.user_id GROUP BY user_group_memberships.user_group_id")

以下の結果が得られます。

-+-----------------------------------+
| user_group_id | bankroll_net_profit |
+---------------+---------------------+
|             1 |                4765 |
|            57 |                1517 |
|            58 |                 -20 |
|            62 |                1517 |
|            64 |                1517 |
|            66 |                1507 |
|            67 |                 995 |
|            82 |                1517 |
-+-----------------------------------+

しかし、groups変数でアクティブなレコードを取得する必要がありましたが、 Array(を介してチェックされたgroup.class)を取得したため、アクティブなレコードで追加の計算を行うことはできません。

Anybuddy は、上記の Mysql クエリのアクティブ レコードを見つけるのに役立ちますか: Model.joins(:another_model) が必要です

協会は以下のとおりです。

 class UserGroup < ActiveRecord::Base
   has_many :user_group_memberships
   has_many :users, :through => :user_group_memberships

class User < ActiveRecord::Base
  has_many :user_group_memberships
  has_many :user_groups, :through => :user_group_memberships


class Bet < ActiveRecord::Base
  belongs_to :user
4

1 に答える 1