【发布时间】:2020-02-23 15:44:56
【问题描述】:
我想获取输入同一天的记录流(如日期为 2020 年 2 月 23 日的所有记录)。
Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime date) {
return (select(bloodSugarsEntity)
..where((bp) => bp.date.equals(date)))
.map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
.watch();
}
这是我的代码,它不起作用,因为 dateTime 是日期和时间的组合。我尝试使用嵌套查询来单独比较年、月和日,但我做不到。 任何帮助将不胜感激。
【问题讨论】:
-
谢谢。我将我的方法更新为此,但它仍然不起作用 Stream
- > watchBloodSugarsInDate(DateTime dateTime) { return (select(bloodSugarsEntity) ..where((row) { final asDate = FunctionCallExpression('date', [ row.date]); 最后一年 = FunctionCallExpression
('strftime', [const Constant ('%Y'), asDate]); 最后一个月 = FunctionCallExpression (' strftime', [const Constant ('%m'), asDate]); -
最后一天 = FunctionCallExpression
('strftime', [const Constant ('%d'), asDate]); return year.equals(dateTime.year.toString()) & month.equals(dateTime.month.toString()) & day.equals(dateTime.day.toString()); })) .map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity)) .watch(); } -
date的值是多少? -
你的意思是日期时间吗?函数中没有日期
标签: flutter flutter-moor