So i am working on a filtering system in Supabase for a side project, it is my first time using a SQL DB (i was using Firebase before) and I was trying to create some queries like this:
The user should be able to select any filter they want and it should return the filtered products.
This is what I currently have:
<script>... let Industries = [ { value: "Angel Investment", checked: false }, .... ]; let InvestmentStage = [ { value: "Convertible Note", checked: false },... ]; let selectedFiltersObj = {}; async function getFilterData(filters) { console.log(filters) try { const { data, error } = await supabase .from("tester") .select() .or(filters) .limit(10); if (error) { console.error("Error fetching data:", error.message); } return { investor: data ?? [], }; } catch (error) { console.error("An unexpected error occurred:", error.message); return { investor: [], }; }}async function handleCheckboxChange(key, value) { if (!selectedFiltersObj[key]) { selectedFiltersObj[key] = []; } if (selectedFiltersObj[key].includes(value)) { selectedFiltersObj[key] = selectedFiltersObj[key].filter( (filter) => filter !== value, ); } else { selectedFiltersObj[key] = [...selectedFiltersObj[key], value]; } console.log(selectedFiltersObj); const result = await getFilterData(selectedFiltersObj); console.log(result.investor); data = result;}</script>
and this is how selectedFiltersObj can look
Object { Industries: (1) […], "Investment Stage": (1) […] }
The problem is that i get Error fetching data: "failed to parse logic tree (([object Object]))" (line 1, column 4)
Does anyone know how to apply multiple dynamic filters to Supabase/PostGres?