Supabase查询时报teams与users存在多个关联关系错误如何解决?
报错根因
你的报错是因为teams表到users表存在两条符合匹配规则的多对多关联路径,PostgREST无法自动选择关联路径导致歧义:
- 路径1:
teams→team_memberships→users,对应团队成员关联关系 - 路径2:
teams→team_boards→users,对应团队看板所有者关联关系
解决方法
按照PostgREST的语法规则,在查询字段中用!显式指定需要使用的关联关系即可消除歧义。你需要查询的是团队成员,所以指定走team_memberships关联即可,修改后的查询代码如下:
const data = await supabaseClient.from('organizations') .select(` *, teams( id, org_id, name, members:users!team_memberships( id, full_name, avatar_url ) ) `);
如果后续你需要查询团队对应的看板所有者,指定关联为team_boards即可:members:users!team_boards(...)
内容的提问来源于stack exchange,提问作者tdc
相关产品推荐
相关产品推荐

