找到数组的文章
我目前正在将数据库中的标签存储为一串数组
我想找到基于数组的文章
Article.find_by(tags: 'xbox')
但这会带来错误。
也:
Article.where(tags: 'xbox')
这告诉我,我必须插入{}
来查找数组
Article.where(tags: '{xbox}')
这不会带来任何错误,但它也找不到任何错误
#=> #
如果我做
Article.where(tags: '{"", "playstation 3", "playstation", "xbox", "test"}')
这会找到它,但我只想在你输入一个数组时找到它。
谢谢
找到了答案:
Article.where('tags @> ?', '{xbox}')
这将找到每个带有xbox
标签的Article
。
编辑:
这是一个不同的语法,它做同样的事情:
Article.where(['? = ANY (tags)', 'xbox'])