如何在一对多关联中预加载关联?

时间:2015-10-28 00:42:50

标签: elixir ecto

我有以下结构:

Order有很多Products

Product有一个Template

Order有许多TemplatesProducts

我的查询如下:

def with_template(query \\ Product) do
  from q in query, preload: :template
end

def with_products(query \\ Order) do
  from q in query, preload: :products
end

当我这样做时:

OrderQuery.with_products |> ProductQuery.with_products |> Repo.all

我收到错误,因为当然

Order does not have association :template

我需要预先加载:templates。有没有办法不写其他查询?

我想避免:

  from q in Order, preload: [products: :template]

但结合并使用已定义的查询。

0 个答案:

没有答案