代码之家  ›  专栏  ›  技术社区  ›  Verty00

如何将关联嵌套在先前组合和预加载的关联上?

  •  0
  • Verty00  · 技术社区  · 5 年前

      defp list_assets_qry(asset_id) do
        from a in Asset,
          join: u in assoc(a, :user),
          where: a.asset_id == ^asset_id,
          preload: [user: u]
      end
    
      list_assets_qry(asset_id)
      |> join(:left, [_,u], p in assoc(u, :partner))
      |> preload([_,u,p], user: {u, partner: p})
      |> Repo.all()
    

    上面的代码不会给我嵌套在其中的伙伴 :user 就像我预料的那样。

    所以我给协会打了个电话 :partner 嵌套在用户上的。由于逻辑流和现有的api,我必须调用 list_assets_qry

    0 回复  |  直到 5 年前