Grails-从另一个租户中检索对象

时间:2019-02-22 14:32:45

标签: grails multi-tenant

我有一个已经在服务器上运行的grails系统,我们使用租户解决方案来区分公司的分支机构,但是现在我需要将信息从一个分支恢复到另一个分支。

关键是当我在模型中进行以下查询时:

def expedition = Expedition.findByCode(row.code)

如果我的探险是由分支机构发出的,那么此发现不会返回任何内容,毕竟这是分支机构不相互填充信息的初始架构。

有人知道我该怎么做吗?可能只是返回那个对象或模型中的某些注释,但我不想删除多租户结构,因为我仍然需要阻止一些信息。

1 个答案:

答案 0 :(得分:1)

您可以使用grails.gorm.multitenancy.Tenants类上的方法来实现此目的:

允许查找任何租户:

def expedition = Tenants.withoutId { Expedition.findByCode(row.code) }                    

指定租户

Long otherTenantsId = 2L
def expedition = Tenants.withId(otherTenantsId) { Expedition.findByCode(row.code) }                    

这样做或信任用户输入的租户ID时,请务必小心,因为它将允许访问其他用户数据。

请注意,如果您想将其添加到班级/方法级别,也可以使用@WithoutTenant