共计 268 个字符,预计需要花费 1 分钟才能阅读完成。
场景描述
技术栈 Flutter+Drift+Riverpod,有表 todoRecord
和user
,现在需要查询出待办记录最多的五位用户,使用图表展示,并能够支持 自动刷新。
- 查询
todoRecord
表,定位到userId
出现次数最多的五条userId
; - 查询
user
表拿到用户信息如姓名; - 绘制图表。
方案
因为需要实现自动刷新,那么使用到了 Drift 的 watch()函数返回 Stream。
- 方案 1,分两次查询:
StreamBuilder
嵌套- >
StreamBuilder
;- >
- 方案 2,一次查询:自定义 SQL 处理连表查询,直接单
StreamBuilder
构建。- >
正文完