Supabase 查询多对多关系

问题描述 投票:0回答:1

我正在尝试找到一种使用supabase客户端查询m2m数据的正确方法。

我有三张桌子:

公共网站

专栏 格式
id int8
名字 文字

auth.users(supabase 身份验证表)

专栏 格式
.. ...
id uuid

公众.会员

中心
用户ID auth.users.id 的 uuid 外键
站点_id public.sites.id 的 int8 外键

我需要查询给定用户 ID 的所有网站。我进行了多次尝试但没有成功,例如:

const sites = await supabase.from('sites').select('id, name, members(user_id)').eq('members.user_id', user.id);

P.s.我也跑了

alter table members
add constraint pk_user_team primary key (user_id, site_id);

基于 stacksoverflow 上的一些帖子。

有什么建议吗?

javascript sql supabase supabase-database supabase-js
1个回答
0
投票

我自己找到了解决方案。我需要在表上使用内部联接,然后根据 user_id 进行过滤:

const sites = await supabase.from('sites').select('*, members!inner(user_id)').eq('members.user_id', user.id)

可能有更好或更有效的方法。仍然欢迎任何建议!

© www.soinside.com 2019 - 2024. All rights reserved.