Supabase Kotlin-Abfrage gibt eine leere Liste zurück, während dieselbe SQL-Abfrage im Editor einwandfrei funktioniert?Android

Forum für diejenigen, die für Android programmieren
Guest
 Supabase Kotlin-Abfrage gibt eine leere Liste zurück, während dieselbe SQL-Abfrage im Editor einwandfrei funktioniert?

Post by Guest »

Ich versuche, mithilfe der Kotlin-Bibliothek die neuesten Scandaten für eine bestimmte Benutzer-ID aus meiner Supabase-Tabelle abzurufen. Die Abfrage gibt jedoch eine leere Liste zurück, obwohl dieselbe SQL-Abfrage im Supabase SQL-Editor einwandfrei funktioniert.
Hier ist der Kotlin-Code, den ich verwende:

Code: Select all

val userId = ""
val latestScanData = withContext(Dispatchers.IO) {
supabase.from("Table_User_Scans")
.select() {
filter {
eq("user_id", userId)
}
order(column = "ScanTimeStamp", order = Order.DESCENDING)
limit(count = 1)
}
.decodeSingle()
}
Das Tabellenschema in Supabase lautet wie folgt:



Name
Beschreibung
Datentyp



Code: Select all

user_id
Keine Beschreibung

Code: Select all

uuid

Code: Select all

UserName
Keine Beschreibung

Code: Select all

character varying

Code: Select all

ScanTimeStamp
Keine Beschreibung

Code: Select all

timestamp without time zone

Code: Select all

FrontFaceImageUrl
Keine Beschreibung

Code: Select all

character varying

Code: Select all

SideFaceImageUrl
Keine Beschreibung

Code: Select all

character varying

Code: Select all

ApiJsonOutput
Keine Beschreibung

Code: Select all

json


Hier sind die UserScans Datenklasse in Kotlin:

Code: Select all

package com.indiedev91.looksmaxeai_bebetterversion.Utils

import kotlinx.serialization.Serializable

@Serializable
data class UserScans(
val user_id: String,
val UserName: String,
val ScanTimeStamp: String,
val FrontFaceImageUrl: String,
val SideFaceImageUrl: String,
val ApiJsonOutput: String?
)
Wenn ich die Abfrage direkt im Supabase SQL-Editor ausführe, funktioniert sie wie erwartet und gibt den neuesten Scan-Datensatz zurück:

Code: Select all

SELECT *
FROM "Table_User_Scans"
WHERE user_id = ''
ORDER BY "ScanTimeStamp" DESC
LIMIT 1;
Ich vermute, dass das Problem in der Art und Weise liegt, wie die Kotlin-Abfrage strukturiert ist. Folgendes habe ich bisher überprüft:
  • Spaltenbenennung: Es wurde sichergestellt, dass die in der Datenbank verwendeten Spaltennamen (

    Code: Select all

    ScanTimeStamp
    ) stimmen mit denen in der Kotlin-Abfrage überein.
  • Datendekodierung: Es wurde überprüft, ob die UserScans-Klasse mit dem Tabellenschema übereinstimmt.
    Supabase Kotlin-Dokumentation: Ich habe die Richtlinien aus der Supabase Kotlin-Dokumentation befolgt.
Trotzdem prüft, gibt die Abfrage immer noch eine leere Liste zurück.
Kann jemand darauf hinweisen, was ich möglicherweise falsch mache, oder Debugging-Schritte vorschlagen?
Vielen Dank im Voraus!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post