【发布时间】:2020-05-25 09:17:28
【问题描述】:
我有 3 个模型。
用户.rb
has_many :user_cards
用户卡.rb
belongs_to :CardGroup
我想在一个查询中获取所有用户,包括卡片和 CardGroup 信息。
User.joins("LEFT OUTER JOIN user_cards ON user_cards.user_id = users.id AND user_cards.created_at BETWEEN '#{@start_time.to_s(:db)}' AND '#{@end_time.to_s(:db)}'")
.group('users.id, users.mobile, user_cards.user_id, user_cards.bin)
.select(
'users.id AS uid, users.name AS uname, users.mobile AS umobile,' \
'count(distinct(user_cards.id)) AS total_cards, \
'user_cards.bin AS card_bins'
)
现在,我也想加入第三个模型 CardGroup 并在上述查询中获取 user_card.card_group.name。
如何使用嵌套连接/任何其他方式做到这一点?
【问题讨论】:
-
你使用的是什么 Rails 版本?
-
我们使用 Rails 5.2
标签: ruby-on-rails postgresql join