Ecto查询哪里testA和(testB或testC)

时间:2018-07-26 18:54:43

标签: elixir ecto

我有一个看起来像这样的模式;

schema "things" do
  field(:title, :string)
  field(:temperature, :integer)
  field(:weight, :integer)
end

我想编写一个等效于以下SQL的Ecto查询,但是我似乎无法将其转换为有效形式。

select * from things where temperature <= 200 and (weight is null or weight > 2);

如何在Ecto中做到这一点?

1 个答案:

答案 0 :(得分:2)

与SQL几乎相同的语法:

from(t in Thing, where: t.temperature <= 200 and (is_nil(t.weight) or t.weight > 2))