哪里没有热切的加载关联

时间:2017-01-14 13:29:32

标签: sql ruby-on-rails activerecord

我正在努力使用活动记录查询来选择我的应用程序中的某些特定数据。我用过 https://robots.thoughtbot.com/activerecords-wherenothttp://guides.rubyonrails.org/active_record_querying.html 以供参考。

我的应用程序有一个review表(belongs_to :application),用户可以查看应用程序。我想选择未经特定用户审核的应用程序。

Application.includes(:reviews).references(:reviews).where('reviews.reviewer_id = 1')
# or
Application.includes(:reviews).references(:reviews).where(:reviews => { reviewer_id: 1 })

完美地工作,但如上所述,我想选择反向:

Application.includes(:reviews).references(:reviews).where.not(:reviews => { reviewer_id: 1 })

这不会给我正确的数据,它不包括完全没有审核的应用程序。怎么也包括这个?

1 个答案:

答案 0 :(得分:0)

试一试: -

 Application.includes(:reviews).references(:reviews).where("reviews.reviewer_id != ? OR reviews.reviewer_id IS NULL", 1)