2017-05-04 7 views
-1

SQLクエリをActiveRecordに変換する際に問題が発生しました。アクティブレコード - SQLクエリの変換

select tbl2.id 
     from Table1 tbl1 
       JOIN Table2 tbl2 ON tbl1.id = tbl2.some_column_id 
     where tbl1.id in (1, 2, 3, 4, 5) 
       and tbl2.id not in (10, 13, 22, 44, 66) 

Railsのモデルが存在するとの関係は、このようなものです:

表2:

has_many :table1 

答えて

1

あなたのセットアップ適切なテーブル名を使用してクラスを(TABLE1とtable2のは、レールモデルの良い名前ではありません想定、btw)。その後

Table2 
    .select(:id).joins(:table1) 
    .where(table1: { id: [1, 2, 3, 4, 5] } 
    .where.not(id: [10, 13, 22, 44, 66]) 
関連する問題