Flutter集成Supabase时PostgrestFilterBuilder无.execute方法报错求助
解决PostgrestFilterBuilder无execute/get方法的问题
- 问题根源:Supabase Dart SDK 2.0及以上版本重构了查询API,移除了
.execute()和.get()方法,原有的调用方式不再适用。 - 修正后的代码:
import 'package:thrive/main.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; class TextService { Future<List<String>> fetchTexts() async { try { // 直接await查询构建器,无需额外调用execute/get final List<dynamic> data = await supabase .from('profiles') .select('community'); return data.map((item) => item['community'] as String).toList(); } on PostgrestException catch (e) { // 捕获Postgrest异常并抛出 throw e; } } }
- 关键改动说明:
- 移除
.execute()调用,直接await.select()返回的Future - 改用
try-catch捕获PostgrestException处理错误(新版本SDK查询失败会直接抛出异常,不再返回带error字段的响应对象) - 确保导入
supabase_flutter包以获取PostgrestException类
- 移除
内容的提问来源于stack exchange,提问作者Kres Schröder
相关产品推荐
相关产品推荐

