Rails范围 – 完全匹配的位置
是否可以在Rails中使用where IN (?)
查询来查看范围,这将检查完全匹配?
例如:
Post.joins(:tags).where('tags.id IN (?)', [1, 2, 3, 4])
会找到标签为1,2,1,2,3和1, 2
post。 但是应该只找到带有1, 2, 3, 4
标签的post。
要获得匹配IN
子句中所有值的想法,您必须这样做:
tag_ids = [1, 2, 3, 4] Post.joins(:tags).where('tags.id IN (?)', tags_ids).group("posts.id") .having("COUNT(posts.id) >= ?", tag_ids.length)
我希望这对你有帮助。