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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Supabase Kotlin-Abfrage gibt eine leere Liste zurück, während dieselbe SQL-Abfrage im Editor einwandfrei funktioniert?

by Guest » 16 Jan 2025, 06:43

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!

Top