Объекты разряда С ПРАКТИЧЕСКИМИ РЕКОМЕНДАЦИЯМИ балансом в Ruby на направляющих

Я реализую систему пари, и у каждого пользователя есть баланс, как я могу найти разряд пользователя, использующего activerecord методы?спасибо за помощь.

11
задан fenec 11 May 2010 в 18:43
поделиться

3 ответа

Чтобы получить ранг пользователя,

Users.all(:order => "balance").index(a_particular_user)

Это должно дать вам индекс (ранг) конкретного пользователя в массиве всех пользователей (отсортированных по балансу).

20
ответ дан 3 December 2019 в 01:38
поделиться

Если я понял, чего вы хотите, вам просто нужно упорядочить пользователей по балансу

User.all(:order => "balance")

Edit: если только баланс не является атрибутом...

Edit#2: после просмотра ответа Дрю Джонсона я понял, что неправильно понял ваш вопрос. Как он сказал, вы можете использовать метод index для того, чтобы сделать то, что вы хотите.

@user = User.first
@rank = User.all(:order => "balance").index(@user)
3
ответ дан 3 December 2019 в 01:38
поделиться

несколько дней назад я задал точно такой же вопрос

Положение объекта в базе данных

мое решение было таким же, как и @Drew Johnson предложено ( User.all.index current_user ). Но мне нужно было «решение для запросов», и @Vlad Zloteanu дал мне отличную идею:

User.count(:order => "balance", :conditions => ['balance < (?)', current_user.balance])

это быстрое решение для запросов для больших таблиц данных.

5
ответ дан 3 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: