这个查询有更好的解决方案吗?
Video.where.not(id: Video.joins(:categories).where(categories: { id: [20,21,22]}).select(:id))
对我来说,这似乎是一种矫枉过正的查询,但我不知道如何编写更好的解决方案。
有什么想法吗?
答案 0 :(得分:0)
除非我想要你的查询要做什么,否则为什么不使用内部查询呢?或者您是否遇到视频并不总是有类别的情况?
内部查询:
Video.joins(:categories).where.not(categories: { id: [20,21,22]})
如果视频不具有类别:
Video.includes(:categories).where.not(categories: { id: [20,21,22]})