1

我有 2 个模型,例如UserUniquecode
我正在使用名为的 gem acts_as_paranoid,它可以实现逻辑删除。基本上,用户有一个名为“deleted_at”的列,并且日期时间将在用户被删除时设置。

我在 Uniquecode 模型中定义了这个

scope :recent, lambda { |n = 10| includes(:user).order("users.last_active_at DESC").limit(n) }

但是,此代码获取所有用户,包括通过逻辑删除删除的用户。那些通过逻辑删除删除的用户,在“deleted_at”列中有时间戳。

如何忽略这些人并仅获取具有这种条件的活跃用户?如何以不同的方式对其进行编码?

  • 一次 10 条记录
  • 必须按用户表中的“last_active_at”列排序。我想要最新的 10 条记录。
4

1 回答 1

1

这对你有用吗?

scope :recent, lambda { |n = 10| includes(:user).where('users.deleted_at', nil).order("users.last_active_at DESC").limit(n) }
于 2013-01-23T05:47:50.683 回答