1

私はこのクエリを持っています:

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

結果には、タグ1または2を持つすべての本が含まれます。両方のタグ(1と2 )を持つ本だけを取得するようにこれを変更するにはどうすればよいですか?

私のアプローチは次のとおりです。

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

2番目の場所が最初の場所を上書きするため、これはうまくいきませんでした。

4

1 に答える 1

0

未検証

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