0

ユーザーが行った支払いとその値にユーザーを関連付けるテーブルがあります。

ユーザーの支払いのランクを見つけることができる必要があります。これは言うことです:

Find Users payment -> Order Payments by value descending -> Return row position of users payment.

または:

User pays $10

There are three people who have paid more than $10

Return 4
4

1 に答える 1

1

Arel インターフェイスでこれを実現する方法があるかどうかはわかりませんが、次のようなことができます (ユーザーが にロードされていると仮定します@user) 。

idx = nil
Payment.order("value desc").each_with_index do |payment, index|
  if payment.user_id == @user.id
    idx = index
    break
  end
end

支払われた金額よりも少ないすべての支払いレコードを照会し@userて数値を取得することはできますが、同じ金額を支払ったユーザーに対してどちらが最初に来るかがわからないため、同じ金額を支払ったレコードは考慮されません。

于 2012-08-23T15:52:49.277 に答える