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

489
Visualizações
Supabase: Filtrar datos con unión y 'O' lógico

Estoy usando Supabase como base de datos e intento implementar una búsqueda de texto completo.

Mi configuración de ejemplo es bastante simple, tengo dos tablas:

elementos

 +----+-----------+-----------------+ | id | name | manufacturer_id | +----+-----------+-----------------+ | 1 | Notebook | 1 | +----+-----------+-----------------+ | 2 | Mouse | 2 | +----+-----------+-----------------+

fabricantes

 +----+-----------+ | id | name | +----+-----------+ | 1 | Apple | +----+-----------+ | 2 | Microsoft | +----+-----------+

Mi objetivo: buscar nombres de artículos o nombres de fabricantes y recibir siempre los items respectivos. La búsqueda de 'Apple' devolvería todos los artículos cuyo nombre de fabricante contenga esta frase. La búsqueda de 'Notebook' devolvería todos los elementos con este nombre.

( Simplifiqué este ejemplo usando coincidencias exactas porque este no es el problema con el que estoy atascado ).

Mi enfoque actual es el siguiente:

 let keyword = 'Apple'; supabase .from('items') .select('*, manufacturers!inner(*)') .or(`name.eq.${term}`) .or(`name.eq.${term}`, { foreignTable: 'manufacturers' })

Aunque esta consulta no devuelve nada.

Si .or('name.eq.${term}') devuelve el elemento correcto. Lo mismo si elimino el segundo .or() y uso un nombre de elemento como mi palabra clave.

Simplemente no puedo encontrar una manera de combinar dos operadores OR. También probé múltiples consultas de filter() pero no tuve éxito.

EDITAR: La sintaxis SQL (de trabajo) sería la siguiente:

 SELECT * FROM items JOIN manufacturers ON items.manufacturer_id = manufacturers.id WHERE items.name = 'Apple' OR manufacturers.name = 'Apple'

¿Alguien tiene un enfoque sobre cómo hacer eso con el SDK de JavaScript de Supabase? ¡Gracias de antemano!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No puede O combinar una condición de tabla externa ( manufacturers ) con una condición de tabla principal ( items ) directamente a través del JS SDK.

(Más detalles sobre por qué aquí )

Sin embargo, puede crear una función que envuelva su consulta y usar rpc para obtenerla:

https://supabase.com/docs/reference/javascript/rpc

about 4 years ago · Juan Pablo Isaza 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