1

我有这个查询:

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

结果包含标签为1 OR 2的所有书籍。如何更改它以仅获取具有两个标签(1 和 2)的书籍?

我的方法是:

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

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

4

1 回答 1

0

未测试

books = Book.includes(:tags).where("tags:{ id: ? } AND tags:{ id: ?}", 1, 2)
于 2012-05-24T09:23:10.773 回答