2015-04-03 2 views
1

Короткая версияActiveRecord эквивалент этой

Что SQL-только эквивалентно

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

(ответ вида Workable.includes(:job_types).where('SQLHERE', nil)

длинная версия

Я пытаясь «ИЛИ» эти два вопроса:

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

и

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

Longer версия, чтобы прояснить вопрос Давида ниже

Workables have_and_belong_to_many job_types

Я ищу, чтобы найти Workables где либо id соответствует параметру поиска, или Workable не имеет job_types.

ответ

0

Если PARAMS [: job_type] представляет собой целое число, возможно, вы могли бы использовать вместо:

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

Или вы ищете ситуации, когда нет соответствующего job_type записи вообще?

+0

Спасибо, Дэвид! Я ищу ситуацию, в которой нет job_types –

+0

Работал отлично –

Смежные вопросы