Условие по значениям jsonb - PullRequest
0 голосов
/ 25 мая 2018

В моей таблице переводов у меня есть jsonb: значения , где мы можем найти пример: {"en" => "Город"} Я пытаюсь получить все-переведенные переводы, я пробовал:

Translation.where(values.values="")

и что-то вроде

Translation.all.values.each do |language, translation|
  if translation.empty?
    #here I don't know how to should I do to get all the un-translated 
    #translations without overwriting
end

Как я могу сделать это правильно?

1 Ответ

0 голосов
/ 25 мая 2018

Для пустого поля таблицы json, например Translation.values ​​= {}

Translation.where(values = '{}'")

Для пустого ключа в поле таблицы json, например Translation.values ​​= {"mykey": ""}

Translation..where("(values-> 'mykey') IS NULL")

Операторы json PostgreSQL: https://www.postgresql.org/docs/9.5/static/functions-json.html

...