ユーザーIDを考慮して特定の列の値を乗算したい。Rails ActiveRecordを使用したafcolumnの値を掛ける
私はユーザ1(ID 1)とユーザ2(ID 2)、及びname
とmensal_cost
を持つテーブルanimals
でテーブルusers
を有していると仮定する。
OK]をクリックして、その後、私はActiveRecord
を使用することができます方法を知りたいユーザー2(ID 2)
ため、ユーザ1(ID 1)用の2匹の動物や1匹の動物を追加増加3カ月後にmensal_cost
収入を算出し、同じベース値、それは私がこのような何かしようとしている私は3
によって実際の値を乗算しなければならないことを意味:私は、ユーザーが存在することができますどのように多くを知らないので、私が書く必要があります
Animal.where(user_id: ?).sum('3*mensal_cost')
を各ユーザのためにリストされるコールidは3ヶ月後の金額です。
タリン、すべてのfisrt、あなたの答えをありがとう。しかし、この方法では、すべてのユーザーからのmensal_costの合計に3を乗じたものが得られます。本当に必要なのはid1 mensal_cost * 3 = 300、id2 mensal_cost * 3 = 700 ... – Bruno
ah coolです。ええ、私はあなたが意味するものを参照してください。あなたはそれを構築するためにユーザーの配列を反復することができます...おそらく1つのクエリでそれを行う "グループで"の方法ですが、反復方法は十分にうまくいくでしょう。私は例を追加します。 –
グレート:)、あなたの例のprobabは、今私は各ユーザーIDのユーザー名(ユーザーテーブルにあります)を取得する必要があるので、私は多くの助けになります。 私はprobabがUser.joins(:animals)のようなことをする必要があると思う....ここで私はハッシュを構造化する方法を知らないが、私はすでに読んだがそれを得なかった:( – Bruno