You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:12:04