elixir - 如何在先前组合和预加载的关联上嵌套关联?
问题描述
我有一个 ecto 查询,我试图构建一个额外的连接并预加载到已经包含预加载的组合查询上。
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
一个。所以我的问题是我需要在以前预加载的用户上预加载嵌套伙伴。
解决方案
推荐阅读
- powerbi - 如何在DAX中的SUMX函数中按两个相关表进行过滤
- python - Python中的反向引用
- javascript - 在父级上设置操作时,复选框样式未正确切换,更新的数据从父级发送到子级
- ansible - 通过 ansible AWX 在 ovirt_disk 模块中出错
- phpstan - 如何表示一个非空数组?
- ios - 如何在视图中居中滚动视图
- python - 从嵌套列表中删除相似元素
- ag-grid - 使用 Enzyme 或 React 测试库时,自定义 Header 不显示在 DOM 内容中
- jenkins - 在Jenkins?Master(Windows服务器)和Slave(Windows本地)中将管道项目从Slave转移到Master的管道脚本
- python - 什么决定了 Python Flask 项目的版本?