在Rails 4中,你可以使用ActiveRecord的where
方法结合IN
操作符来判断数组属性是否包含数组中的任何一个值。以下是一个示例:
假设你有一个名为User
的模型,其中有一个tags
属性是一个数组类型。你想要检查tags
属性是否包含数组['tag1', 'tag2']
中的任何一个值。
tags_to_check = ['tag1', 'tag2']
users = User.where("ARRAY[?] && tags", tags_to_check)
这里的ARRAY[?]
将tags_to_check
数组转换为PostgreSQL数组,&&
是一个PostgreSQL数组操作符,用于检查两个数组是否有交集。tags
是你的User模型的数组属性。
如果users
数组不为空,说明至少有一个用户的tags
属性包含了tags_to_check
中的任何一个值。
希望对你有帮助!