Как запросить записи с помощью rom-sql по столбцу json в postgres?

Имея таблицу со столбцом jsonb, содержащим некоторый массив, как лучше всего выбирать записи, содержащие определенный тег с rom-sql?

Пример запроса. https://www.db-fiddle.com/f/u4CFkUUpnHZj67j1RJ5YRe/0

CREATE TABLE posts (
  id INT,
  tags JSONB
);
INSERT INTO posts (id, tags) VALUES (1, '["cats", "dogs"]');
INSERT INTO posts (id, tags) VALUES (2, '["dogs"]');

SELECT * FROM posts WHERE tags @> '["cats"]';

Итак, как построить этот запрос с rom-sql?

1 ответ

Решение

Это так же просто, как posts.where { tags.contain(['cats']) }, Есть некоторые проблемы с получением YARD для этих методов, потому что мы слишком инновационные. Так или иначе, весь список поддерживаемых в настоящее время методов / операторов находится на Github.

Другие вопросы по тегам