Как найти ключ ha sh в jsonb в Rails? - PullRequest
0 голосов
/ 01 апреля 2020

Пример Модель Дома, колонка: животные. Внутри животных jsonb вот так:

dogs: {
  dog1: { attributes...},
  dog2: { attributes...},
  ...
}

Вопрос
Как найти dog1 только по ключу ("dog1")

1 Ответ

0 голосов
/ 01 апреля 2020

Это не поддерживается Active Record изначально. Вы должны будете написать некоторые пользовательские предложения where. Например, в Postgres см. Документацию здесь: https://www.postgresql.org/docs/9.4/functions-json.html.

Некоторые примеры перечислены здесь: https://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails, в разделе «Запрос к столбцу jsonb» раздел!

# preferences->twitter OR preferences->github
User.where('preferences ?| array[:keys]', keys: ['twitter', 'github'])
...