我在名为Translation的表中有值,其中包含每个示例的每个值:
=> {"fr"=>"Jaune", "de"=>"", "en"=>"", "bg"=>"", "hr"=>"", "es"=>"", "hu"=>"", "it"=>"", "lt"=>"", "lv"=>"", "nl"=>"", "pl"=>"", "pt"=>"", "ro"=>"", "cs"=>""}
我希望得到每种语言的翻译编号: 我在尝试:
Translation.where("values->>'fr' IS NOT NULL").count
但它给了我0,这是不正确的,有谁知道如何正确地做到这一点?
答案 0 :(得分:1)
你遇到的问题是没有值的键仍然存在于json中,所以"不是空的"将返回所有这些因为密钥存在。你有两个选项,你可以从数据库中删除空键,所以不能为null,或者,改变它以查看键是否为空
你可以这样做
Translation.where("values->>'fr' <> ''").count
它将适用于您现在拥有的结构。