Flutter中使用Drift获取字符串列表的方法求助
解决Drift获取字符串列表的问题
你遇到的核心问题是:拿到的
_MappedSelectable<QueryRow, String>是Drift的延迟执行查询对象,不是直接的结果集合,所以不能直接调用toList()或者转成Map处理。正确的获取方式很简单,直接调用Drift查询对象的
.get()方法(异步场景):// 假设db是你的数据库实例 List<String> nicknames = await db.getAllNicks.get();如果是使用同步数据库(比如moor_ffi的同步实现),可以用
.getSync()方法:List<String> nicknames = db.getAllNicks.getSync();补充说明:
- 如果确定查询只会返回单个结果,可用
getSingle()(无结果时会抛出异常) - 如果允许无结果的情况,可用
getSingleOrNull()(无结果返回null)
- 如果确定查询只会返回单个结果,可用
内容的提问来源于stack exchange,提问作者cardcraft
相关产品推荐
相关产品推荐

