Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

329
Visualizações
"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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda