所以我之前有过这个问题,我在这个问题下面得到了一个有效的答案,但我才意识到我提出的查询没有按计划工作。基本上现在如果它像这样工作(if the roleskey contains any of the roles in slice) and (if the tenantID is an empty string) or (if tenantIDKey is equal to tenantID)但我需要的是(if the roleskey contains any of the roles in slice) AND (if the tenantID is an empty string OR if tenantIDKey is equal to tenantID)这是我当前的查询:query := bolthold.Where(roleskey).ContainsAny(bolthold.Slice(roles)...).And(tenantIDKey).Eq("").Or(bolthold.Where(tenantIDKey).Eq(tenantID))有谁知道如何解决这个问题?
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
尝试:
query := bolthold. Where(tenantIDKey).Eq(""). Or( bolthold. Where(tenantIDKey). Eq(tenantID) ). And(roleskey). ContainsAny(bolthold.Slice(roles)...)
或者
query := bolthold. Where(tenantIDKey).ContainsAny("", tenantID). And(roleskey). ContainsAny(bolthold.Slice(roles)...)
或者
query := bolthold. Where(tenantIDKey).In("", tenantID). And(roleskey). ContainsAny(bolthold.Slice(roles)...)
- 1 回答
- 0 关注
- 63 浏览
添加回答
举报
0/150
提交
取消