嵌套 Ecto 预加载的动态前缀

问题描述

我们通过将 deleted_at 列设置为某个日期来在 Ecto 中使用软删除

这就是为什么我们的基本架构不是 "public" 的原因,因为 - 认情况下 - 我们不想查询删除的记录。
我们的架构只是一个视图,其中仅包含 {{1} }}。

但是,出于报告目的,我们还必须预加载删除的记录,我们这样做:

deleted_at=NULL

有没有办法以更简单、更简洁的方式从 @preload [ tickets: { from(ticket in Ticket,prefix: "public"),[ fees: { from(fee in Fee,[ fee: from(fee1 in Fees.Fee,ticket: from(ticket1 in Ticket,prefix: "public") ] },taxes: from(tax in Tax,payments: {from(payment in Payment,[:refunds]} ] } ] 架构中查询所有内容

解决方法

如果您想从该架构中查询所有关联,您可以在 Repo.allRepo.oneRepo.preload 或用于运行查询的任何其他函数中设置前缀:>

Repo.all(query,prefix: "public")

Repo.one(query,prefix: "public")

Repo.preload(entity,@preload,prefix: "public")