Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

324
Vistas
"Error no detectado: se encontró más de una relación" con la consulta del cliente de Supabase

Estoy creando una aplicación multiinquilino y me encuentro con un error después de agregar varias relaciones que apuntan a la misma tabla:

 Uncaught Error: More than one relationship was found for teams and users

Al realizar esta consulta:

 const data = await supabaseClient.from('organizations') .select(` *, teams( id, org_id, name, members:users( id, full_name, avatar_url ) ) `);

Tengo las siguientes estructuras de tabla (dejando algunos campos por brevedad):

 table users ( id uuid PK full_name text email text ) table organizations ( id uuid PK .... ) table organization_memberships ( id uuid PK organization_id uuid FK user_id uuid FK role ENUM ) table teams ( id uuid PK name text PK ) table team_memberships ( id uuid PK team_id uuid FK user_id uuid FK role ENUM ) table team_boards ( id uuid PK team_id uuid FK owner_id uuid FK )

Debajo del capó, Supabase usa PostREST para consultas. Y he descifrado del mensaje de error que la consulta es ambigua y no está seguro de qué relación(es) cumplir. No estoy seguro de cómo decirle a Supabase qué relación usar en esta consulta en particular para evitar este error.

Aquí está el error de consola más detallado de postREST:

 { hint: "By following the 'details' key, disambiguate the request by changing the url to /origin?select=relationship(*) or /origin?select=target!relationship(*)", message: 'More than one relationship was found for teams and users', details: [ { origin: 'public.teams', relationship: 'public.team_memberships[team_memberships_team_id_fkey][team_memberships_user_id_fkey]', cardinality: 'm2m', target: 'public.users' }, { origin: 'public.teams', relationship: 'public.team_boards[team_boards_team_id_fkey][team_boards_owner_id_fkey]', cardinality: 'm2m', target: 'public.users' } ] }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Profundizando un poco más en los documentos de PostgREST , resulta que lo que estaba buscando era el operador de desambiguación, ! .

La consulta de trabajo se ve así (tenga en cuenta que estamos desambiguando qué relación usar para satisfacer la consulta de los members ):

 const data = await supabaseClient.from('organizations') .select(` *, teams( id, org_id, name, members:users!team_memberships( id, full_name, avatar_url ) ) `);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda