查找带有(某些)多个标签的条目

时间:2012-05-24 08:34:59

标签: ruby-on-rails-3 has-many

我有这个问题:

books = Book.includes(:tags).where(tags:{ id: [1, 2] })

结果包含所有包含 1 OR 2 标签的图书。如何更改此选项以仅获取两个标记( 1 AND 2 )的图书?

我的方法是:

books = Book.includes(:tags).where(tags:{ id: 1 }).where(tags:{ id: 2 })

这出错了,因为第二个覆盖了第一个。

1 个答案:

答案 0 :(得分:0)

未经测试

books = Book.includes(:tags).where("tags:{ id: ? } AND tags:{ id: ?}", 1, 2)