rails where 中的嵌套值查询
Nested value query inside rails where
查询
@products = @products.offset(offset).limit(@limit).where(status: "visible").where.not(inventory: [nil, {}])
如何添加
where.not((product.inventory.length == 1 and product.inventory.first[1]["quantity"].to_i == 0)))))
?
即如何检查 属性 inventory
的长度和 if 1 检查第一个条目的数量,并满足上述条件?
使用 jsonb 运算符
@products =
@products
.offset(offset)
.limit(@limit)
.where(status: "visible")
.where.not(inventory: [nil, {}])
.where.not("ARRAY(select (jsonb_each(inventory)).value->>'quantity' as integer)='{0}'")
查询
@products = @products.offset(offset).limit(@limit).where(status: "visible").where.not(inventory: [nil, {}])
如何添加
where.not((product.inventory.length == 1 and product.inventory.first[1]["quantity"].to_i == 0)))))
?
即如何检查 属性 inventory
的长度和 if 1 检查第一个条目的数量,并满足上述条件?
使用 jsonb 运算符
@products =
@products
.offset(offset)
.limit(@limit)
.where(status: "visible")
.where.not(inventory: [nil, {}])
.where.not("ARRAY(select (jsonb_each(inventory)).value->>'quantity' as integer)='{0}'")