1

のような2つのモデルがあり、論理的な削除を可能にする というgemを使用してUserいます。基本的に、ユーザーには「deleted_at」という列があり、ユーザーが削除されたときに日時が設定されます。 Uniquecode
acts_as_paranoid

これを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 に答える