我不确定是否已在此处记录了解释,也许即时提出错误的问题,但我希望有人可以帮我解决这个问题。
我在模型数组中寻找一个值。我的模型看起来像这样:
class Product < ActiveRecord::Base
# product_category :text
serialize :product_category, Array
end
一个条目的例子:
#<Product:0x0055cd0c1382b8> {
:id => 42266,
:product_category => [
[0] 8, [1] 3
]
}
我需要找到所有属于product_category
3或3和其他类别组合的产品。
我试过像
这样的东西ap Product.where(product_category: [8])
但这不会返回任何东西。
如果已经提出这个问题,请转发给我正确答案。如果没有,非常感谢任何帮助我的时间。
运行:
答案 0 :(得分:2)
虽然我不建议这样做,但补丁工作如下
Product.all.select { |m| m.product_category.include? '3' }
不要将#serialize用于以后需要查询的任何数据
答案 1 :(得分:0)
实现这一目标的最佳方法是通过where子句
Product.where("product_category = ?", [3].to_yaml)
.to_yaml会做到这一点。