我有一个 Deal 模型,它有一个名为“info”的属性,其结构如下:
在交易的“信息”栏内:
Deal1.info = [{"deal_id":"4","text1":"qqq","text2":"sqsq","image1":"sqqs","video1":"sqsq"},{"deal_id":"5","text1":"sqqs","text2":"qq"}]
# no image here inside the json
Deal2.info =
[{"deal_id":"4","text1":"qqq","video1":"sqsq"},{"deal_id":"5","text1":"sqqs","text2":"qq"}]
该列在 mligration 中定义为 json
add_column :deals, :info, :json, default: '[]'
如何使用活动记录在 jsonb 中查询这个?
查找 infos 至少包含一个 deal_id = 4 的所有交易
找到所有的交易,其中 infos 至少包含一个带有名为“image1”的键的 json 块({})(它应该只输出 Deal1,而不是 deal2)