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

485
Vistas
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 Respuestas
Responde la pregunta

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 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