Почему в моем запросе Elixir Ecto появляется сообщение "unsupported: исключением_все в выражении запроса ключевого слова"? - PullRequest
0 голосов
/ 24 сентября 2019

Этот Ecto-запрос работает:

bid_players = from a in Auction,
                where: a.id == 1,
                join: bids in assoc(a, :bids),
                join: player in assoc(bids, :player),
                select: player.id

И этот запрос работает:

players = from player in Player,
            where: player.year_range == ^a.year_range,
            select: player.id

Но я не могу понять, как получить игроков, которые не участвуют в торгах.Когда я пытаюсь это:

not_bid_players = from player in Player,
                    where: player.year_range == ^a.year_range,
                    select: player.id,
                    except_all: ^bid_players

... я получаю:

** (Ecto.Query.CompileError) unsupported :except_all in keyword query expression
    (ecto) expanding macro: Ecto.Query.from/2
    iex:35: (file)

Я предполагаю, что есть что-то в except_all (см. https://hexdocs.pm/ecto/Ecto.Query.html#except_all/2), что я не делаюпонимать.

1 Ответ

3 голосов
/ 25 сентября 2019

except_all был добавлен в Ecto 3.
phoenix_ecto должен быть на уровне 4.0, чтобы использовать Ecto 3+, похоже, вам нужно обновить.

...