Textfilter für mehrere Sub-Entitäten

maximhh

Neuer Benutzer
Beiträge
1
Hallo, ich verwende gerade ein express.js backend mit Anbindung an eine Supabase-DB, aber bekomme nicht hin, Einträge anhand eines Suchtextes zu filtern. Hier ist der Ursprüngliche Select-Query:
Code:
   .from('shop_orders')
    .select(`
      *,
      line_items!inner(*),
      order_shipments(*),
      shipping_address:addresses!shop_orders_shipping_address_id_fkey(*),
      billing_address:addresses!shop_orders_billing_address_id_fkey(*)
    `, { count: 'exact' })
    .eq('user_id', userId)
    .order('time_ordered', { ascending: false });

Dann soll in Unter-Entitäten gesucht werden, aber egal wie ich es versuche, es kommt immer der Fehler "failed to parse logic tree":
Code:
if (search) {
  query = query.or(`line_items.title.ilike.%${search}%,order_number.ilike.%${search}%`);

Wenn ich mehrmals query.ilike() hintereinander mache, dann wird das per AND verkettet, also nicht geeignet für das was ich hier vorhabe. Ein einzelner aufruf mit query.ilike() funktioniert aber:
Code:
query = query.ilike('line_items.title', `%${search}%`);

Ich habe bisher nur mit mySQL gearbeitet und da konnte man einfach im Select einen Alias vergeben, auf den man dann beim Filtern zugreift. Aber hier geht das nicht.
Hat jemand eine Idee wie man das machen kann?
 
Werbung:
Hat jemand eine Idee wie man das machen kann?

Ich kenne mich mit Supabase nicht aus.
Hier ist Doku zu joins und filters, aber beides zusammen scheint schwieriger zu sein (u.U. nicht implementiert)

Hier ist jemand mit einem ähnlichen Problem, allerdings arbeitet der mit einem Browsertool. Vielleicht findest Du einen hilfreichen Hinweis wie z.B. "spread operator syntax"
 
Werbung:
Zurück
Oben