如何编辑下面的控制器代码以查找用户尚未查看的项目?我很容易找到如何查找用户已审阅的项目,但Rails4的where.not不适合它。
查找已审核哪些项目的代码:
@items = Item.joins(:reviews).where(:reviews => { user_id: current_user.id })
答案 0 :(得分:0)
可悲的是,我认为您需要为此使用自定义SQL语句。类似下面的代码:
Item.joins(:reviews).where('NOT EXISTS(select 1 from reviews where user_id = ?)', current_user.id)
答案 1 :(得分:0)
这应返回current_user
没有任何评论的项目 Item.where("NOT EXISTS (SELECT id from reviews where reviews.user_id = current_user.id))