1

私は Rails 2 で作業しています。1 つのテーブル users と他のテーブル lms_users があります。lms_users テーブルでは、users テーブルの ID が外部キーとして取得されます。このような方法で 2 つのテーブルを結合したいので、エントリが lms_users にないユーザーのみを取得します。

4

1 に答える 1

0
class User
  named_scope :not_in_lms_users, {
    :conditions => [ "users.id NOT IN (SELECT user_id FROM lms_users)" ]
  }
end

また

class User
  named_scope :not_in_lms_users, {
    :conditions => "lms_users.user_id IS NULL",
    :joins => "LEFT OUTER JOIN lms_users ON lms_users.user_id = users.id"
  }
end

確認するだけですが、2番目の方が効率的だと思います。これはうまくいくはずです:

User.not_in_lms_users
于 2013-11-19T08:58:53.003 に答える