KJF*_*KJF 1 activerecord ruby-on-rails arel ruby-on-rails-3
我有一个具有关联购物车的用户模型。每个购物车都有一个 purchase_at 日期时间列。我想选择过去 3 个月内没有购买过购物车的所有用户。
我虽然简单:
User.joins(:carts).where('not carts.purchased_at < ?', 3.months.ago)
Run Code Online (Sandbox Code Playgroud)
可以解决问题,但情况似乎并非如此。我正在返回过去 3 个月内购买过东西的用户记录。
有什么想法吗?
您应该能够在简单的活动记录中做到这一点:
User.joins(:carts)
.group("users.id")
.having("MAX(carts.purchased_at) < ?", 3.months.ago)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
624 次 |
最近记录: |