Пользователь has_many
операции. Как найти Users
и что с ним можно найти: User.operations.last.exp_date
>CurrentDate
?Ruby on Rails находит записи через последние записи ассоциации
ответ
я буду считать, что операции упорядочены по дате в любом случае, это означает, когда новая операция вставляется не будет старше уже вставленной записи, если так это будет работать очень легко.
User.joins(:operations)
.merge(
Operation.where('exp_date > ?', Date.today)
)
irb (main): 067: 0> BonusCard.joins (: bonus_card_operations) .merge (BonusCardOperation.where (вал ue: 100)) PG :: InFailedSqlTransaction: ERROR: текущая транзакция прерывается, команды игнорируются до конца транзакционного блока : SELECT "bonus_cards". * FROM "bonus_cards" INNER JOIN "bonus_card_operations" ON "bonus_card_operations". "bonus_card_id" = "bonus_cards". "id" AND (bonus_card_operations.tenant_id = 11) WHERE (bonus_cards.tenant_id = 11) AND (bonus_card_operations.tenant_id = 11) И "bonus_card_operations". "value" = $ 1 –
спасибо за ваш пример, я поймите свою идею. Да, мои записи упорядочены по дате. Но у меня была ошибка ( –
Я не знаю, если это проблема с 'merge' и postgres или что, но в этом специальном случае запрос прост, вы можете сделать BonusCard.joins (: bonus_card_operations) .where (bonus_card_operations: {значение: 100}) ', проверьте, работает ли это –
вы можете сделать это,
user.operations.where("exp_date > ?", CurrentDate)
это будет do: undefined method 'operations 'для #
его задает эту проблему, потому что у вас нет пользовательского объекта. Сначала найдите пользовательский объект пользователем = User.find (user_id) –
- 1. Ruby on Rails Время записи/время записи
- 2. Ruby on Rails: ассоциации
- 3. Активные записи Ассоциации - Rails
- 4. Ruby on Rails - Обновление записи по ссылке
- 5. Ассоциации в ruby on rails
- 6. Автоматическое создание записи на Ruby on Rails
- 7. Ruby on Rails: записи не добавляются
- 8. Обновление записи - Ruby On Rails 3.1
- 9. Ruby on Rails - Count Записи на Scaffold
- 10. Ошибка Ruby on Rails при создании записи
- 11. Ruby on Rails - Inheritance - Учетные записи пользователей
- 12. как добавлять записи has_many: через объединение в Ruby On Rails
- 13. Ruby on Rails проблема создания записи с has_many: через взаимосвязь
- 14. ruby on rails has_many ассоциации
- 15. Ruby on Rails - Дополнительные ассоциации?
- 16. Самореляционные ассоциации (Ruby on Rails)
- 17. Ruby on Rails Двунаправленные ассоциации
- 18. Ruby on Rails has_many через объекты ассоциации перед сохранением
- 19. Отображение has_many,: через записи ассоциации
- 20. Twitter и последние твиты Ruby on Rails
- 21. Ruby Rails Вложенные записи
- 22. получить последние последние записи
- 23. Установка: has_many: через ассоциацию на belongs_to ассоциации Ruby On Rails
- 24. Ruby-on-Rails: как вытащить последние записи из ограниченного подмножества таблицы базы данных
- 25. Эффект Rails для записи и последней записи ассоциации с включенными?
- 26. Rails 4 активная модель записи has_many через ассоциации?
- 27. Ruby on Rails Сложная форма/ассоциации
- 28. Табличные ассоциации в Ruby on Rails
- 29. Ruby on Rails и ассоциации баз данных
- 30. Ruby On Rails 4. Однонаправленный ассоциации
вы можете попробовать это 'User.operations.where (" EXP_DATE> # {CurrentDate}) является CurrentDate является переменной? –
Просьба уточнить, что именно вам нужно, и показать нам, что вы пробовали до сих пор. – fivedigit
В оригинал Мне нужно найти пользователей с последней операцией, которая была более 10 дней. Операции сортируются по create_at, поэтому я думаю, что мне нужно проверить последнюю операцию каждого пользователя. Но я не знаю, как лучше всего писать запрос. –