Kotlin中如何使用filter eq实现Supabase多条件数据过滤
解决Supabase Kotlin客户端多条件过滤问题
正确写法
直接在同一个filter块中添加多个过滤条件,Supabase Kotlin客户端默认会将多个条件以AND逻辑组合:
val response = supabase.from("schedules") .select() { filter { eq("user_id", userId) eq("default", true) // 注意拼写修正+布尔值直接传true } }
你之前写法的问题分析
- 第一种写法错误:用逗号分隔两个
eq调用是Kotlin语法错误,代码块中多个操作需单独成行调用,不能用逗号分隔。 - 第二种写法错误:重复调用
select()会覆盖之前的过滤配置,最终只会生效最后一个select的条件,无法实现多条件组合。 - 拼写错误:你把
default写成了defualt,字段名不匹配会导致过滤失效。 - 布尔值传递错误:不需要把布尔值用字符串
"TRUE"包裹,直接传递Kotlin原生的true即可,Supabase会自动处理类型匹配。
扩展:如果需要OR逻辑组合条件
如果业务场景需要user_id匹配 或 default为true的逻辑,可以用or块:
val response = supabase.from("schedules") .select() { filter { or { eq("user_id", userId) eq("default", true) } } }
内容的提问来源于stack exchange,提问作者hcc
相关产品推荐
相关产品推荐

