You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Supabase关联auth.users表获取recipes数据报错问题咨询

错误原因及解决方案

错误原因

  1. 未指定表的Schema:Supabase内置的用户表users属于auth schema,你直接写users(*)时,Supabase默认只会在public schema下查找表,找不到对应表后,解析器会误将users识别为聚合函数的一部分,从而抛出语法错误。
  2. 关联引用方式错误:即使指定了Schema,若没有通过外键关联的正确规则引用关联表,也会导致解析失败。

正确获取关联用户数据的方法

方法一:使用自动生成的关联(推荐)

当你在recipes表中创建user_id外键关联auth.users.id时,Supabase会自动生成一个名为user的关联关系(单数形式,对应外键字段名user_id)。你可以直接通过这个关联名称查询用户数据:

export async function getRecipes() {
  const { data, error } = await supabase.from("recipes").select("*, user(*)");

  if (error) {
    console.error(error);
    throw new Error("Recipes could not be loaded");
  }

  return data;
}

方法二:显式指定Schema与关联条件

如果自动关联未生效,你可以显式指定auth schema,并通过外键字段匹配关联条件:

export async function getRecipes() {
  const { data, error } = await supabase
    .from("recipes")
    .select("*, auth.users(*)")
    .eq("recipes.user_id", "auth.users.id");

  if (error) {
    console.error(error);
    throw new Error("Recipes could not be loaded");
  }

  return data;
}

内容的提问来源于stack exchange,提问作者Niv G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 21:06:17