Как использовать ЛЮБОЙ оператор с полем массива с Ecto? - PullRequest
0 голосов
/ 23 июня 2019

Как найти все сообщения с тегом 'apple'?

  schema "posts" do
    field :title, :string
    field :content, :string
    field :tags, {:array, :string}

    timestamps()
  end

С postgresql это будет:

SELECT title FROM posts WHERE 'apple' = ANY(tags);

1 Ответ

3 голосов
/ 23 июня 2019

Вы захотите использовать оператор Ecto in / 2 . Второй пример для этой функции - именно то, что вы хотите.

MyApp.Repo.all(from post in MyApp.Posts, where: ^"apple" in post.tags)
...