2015-04-03 78 views
1

短版的ActiveRecord相當於該

什麼形式Workable.includes(:job_types).where('SQLHERE', nil)

龍版

我的SQL-只相當於

Workable.includes(:job_types) 
     .where(job_types: {id: nil}) 

(答案試圖'或'這兩個查詢:

workables.includes(:job_types) 
     .where('job_types.id = ?', params[:job_type]) 
     .references(:job_types) 

Workable.includes(:job_types).where(job_types: {id: nil}) 

加長版,澄清以下

Workables have_and_belong_to_many job_types

大衛的問題,我希望找到Workables,其中無論是id搜索參數相匹配,或者Workable根本沒有job_types

回答

0

如果PARAMS [:工作類型爲整數,或許你也可以使用:

workables.includes(:job_types) 
     .where(:job_types => {:id => [params[:job_type], nil]}) 

或者,您在尋找的情況下沒有相應的工作類型的記錄呢?

+0

謝謝大衛!我正在尋找沒有job_types的情況 – 2015-04-03 11:59:32

+0

完美工作 – 2015-04-03 12:07:24