Создание исключения array_agg в Postgres / Ecto - PullRequest
0 голосов
/ 06 октября 2018

Построение фильтра исключения прямо сейчас, который должен исключать все романы определенного жанра, например, скрыть все комедийные и / или романтические романы.

Я нашел способ включить упомянутые романыжанр с кодом ниже, но инвертирование этого запроса оказывается сложным ... Я получаю синтаксические ошибки, если я пытаюсь добавить "НЕ" в любом месте в предложении Имея.

filter anti_genres(query, filters, _conn) do
          filters = filters
                    |> Enum.map(&String.to_integer/1)

          from f in query,
               left_join: genres in assoc(f, :genres),
               group_by: genres.id, 
               having: fragment("? <@ array_agg(?)", ^filters, genres.id)
        end

Можно ли повернутьэтот запрос на включение в эксклюзивный?

...