我有一个小型 Kotlin 应用程序,它使用 Supabase 数据库作为后端。我遇到的问题是,我想要检索的表中有 2 个关系,但我找不到查询的解决方案。
我有一张包含项目的表,这已经显示在下面给出的代码中。但是,该表与包含类别的表有关系。此类别表具有 ID、名称和父 ID。此父 ID 指的是用作主类别的另一个类别。我想检索该项目的子类别和主类别。有没有办法在简单的查询中做到这一点?
我在此处提供了一个涵盖该问题的示例 SQL 查询
SELECT
a.name,
c1.name AS sub_category,
c2.name AS main_category,
FROM "Item_Table" a
LEFT JOIN categories c1 ON a.category_id = c1.id
LEFT JOIN categories c2 ON c1.parent_id = c2.id;
我的 Kotlin 代码位于 der app sieht aktuell so aus 中:
@Composable
fun ItemsList() {
var itemsList by remember { mutableStateOf<List<Item>>(listOf()) }
LaunchedEffect(Unit) {
withContext(Dispatchers.IO) {
itemsList = supabase.from("Item_Table")
.select().decodeList<Item>()
}
}
LazyColumn {
items(
itemsList,
key = { it.id },
) { item ->
Text(
item.name,
modifier = Modifier.padding(8.dp),
)
}
}
}