私はTrip
とSpending
という2つのモデルを持っていますが、これらは関連付けられていませんが、どちらもuser_id
です。アソシエーションのない2つのテーブルからのアクティブレコードの取得
Trip
で
Spending
=>
id
、
area
、
user_id
、
amount
例データにTrip
=>id
、area
、user_id
、distance
列に
列での
id area user_id distance 1 'CA' 2 10 1 'AK' 3 20 1 'CA' 4 30 1 'AK' 2 10
例データ:
id area user_id Amount 1 'AK' 2 100 1 'AK' 3 30 1 'CA' 4 60 1 'AK' 2 70
私は、出力の次の種類を取得する方法を把握することができません:
1)
amount
とarea
でdistance
のsum
、例えば:area amount distance AK 200 30 CA 60 40
2)および
distance
はuser
であり、area
である。user_id = 2
のために:area amount distance AK 170 10 CA 0 10
私は別に
Trip
とSpending
からレコードを取得することができますし、Rubyで操作するが、それは私にとって非常にきれいに見えません。私はjoins
を使ってみましたが、レコードは重複しています。ActiveRecord
クエリを作成する際の助けがあれば幸いです。ありがとう。注:私はモデルを簡略化し、この質問の他の列とリレーションを除外しました。私は私のプロジェクトでエリアのための別のモデルを作成するオプションがありません。
実際に私はモデルを単純化し、この質問の他の列と関係を除外しました。両方のモデルがユーザーに属していて、 'user.joins(:trips、:支出)'のようなものを試しましたが、不正な値を返す – Aitizazk