这是一个rails站点的文章。文章将标签存储在4个不同的字段中-- technology_tag、sub_segment_tag和更多字段。这些字段中的每个字段存储一个逗号分隔的字符串。
我有一个方法,通过组合4个逗号分隔的字符串标记字段(下面的@ tags ),返回给定文章(在show page上)的标记数组。
在文章展示页面上,我有一个获取相关文章的查询,比如-
Article.regular.published.where('date > ?','2018-01-01').order(date::desc).where('sub_segment_tag IN (?) ',@tags).limit(3)
例如:-如果当前查看的文章有- @tags = "Wallet“
只有在sub_segment_tag中只有一个值的项目,即“钱包”是匹配的。我希望它匹配的文章,有sub_segment_tag =“钱包,银行”和其他价值也。
如果可能的话,请让我知道。
谢谢
发布于 2019-06-17 14:45:04
直接使用like运算符进行查询。因为存储在列中的值是一种字符串格式。下面将返回所有有‘sub_segment_tag’的钱包。
Article.regular.published.where('date > ?', '2018-01-01').order(date: :desc).where("sub_segment_tag LIKE (?)", '%Wallet%').limit(3)https://stackoverflow.com/questions/56611619
复制相似问题