0
我想選擇一個記錄(整個記錄),其中名稱是xxx,品牌是xxx。該記錄將永遠是奇異的,因爲名稱和品牌是唯一索引:Ecto'Where and Where'子句
def getProductByNameAndBrand(name, brand) do
IO.puts("getProductByNameAndBrand")
IO.inspect(name)
IO.inspect(brand)
from p in Api.Product,
where: [name: ^name],
where: [brand: ^brand]
select %{id: p.id, name: p.name, brand: p.brand}
end
這是拋出:
== Compilation error on file lib/api/repo.ex ==
** (CompileError) lib/api/repo.ex:278: undefined function p/0
(stdlib) lists.erl:1338: :lists.foreach/2
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
我喜歡這種語法:
def getProductByNameAndBrand(name) do
Api.Product |> Ecto.Query.where(name: ^name) |> all
end
但是不知道如果能以這種風格完成的話?
我在做什麼錯?
編輯:很肯定這是所期望的方式工作,但會後這裏仍然驗證它沒有錯誤:
def getProductByNameAndBrand(name, brand) do
Api.Product |> Ecto.Query.where(name: ^name) |> Ecto.Query.where(brand: ^brand) |> all
end