带有日期的 flutter moor 查询过滤器
flutter moor query filter with date
我想获取同一天输入的记录流(比如所有日期为 2020 年 2 月 23 日的记录)。
Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime date) {
return (select(bloodSugarsEntity)
..where((bp) => bp.date.equals(date)))
.map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
.watch();
}
这是我的代码,它不起作用,因为 dateTime 是日期和时间的组合。我尝试使用嵌套查询来分别比较年、月和日,但我做不到。
任何帮助将不胜感激。
bool isSameDate(bp) {
final value = bp.date;
return value.year == date.year &&
value.month == date.month &&
value.day == date.day;
}
您可以从您的 row
中获得 date
,并与传递的 searchDate
进行比较。
您必须将 year
与 year
、month
与 month
以及 day
与 day
进行比较:
Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime searchDate) {
return (select(bloodSugarsEntity)
..where(
(row) {
final date = row.date;
return date.year.equals(searchDate.year) &
date.month.equals(searchDate.month) &
date.day.equals(searchDate.day);
},
))
.map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
.watch();
}
我想获取同一天输入的记录流(比如所有日期为 2020 年 2 月 23 日的记录)。
Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime date) {
return (select(bloodSugarsEntity)
..where((bp) => bp.date.equals(date)))
.map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
.watch();
}
这是我的代码,它不起作用,因为 dateTime 是日期和时间的组合。我尝试使用嵌套查询来分别比较年、月和日,但我做不到。 任何帮助将不胜感激。
bool isSameDate(bp) {
final value = bp.date;
return value.year == date.year &&
value.month == date.month &&
value.day == date.day;
}
您可以从您的 row
中获得 date
,并与传递的 searchDate
进行比较。
您必须将 year
与 year
、month
与 month
以及 day
与 day
进行比较:
Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime searchDate) {
return (select(bloodSugarsEntity)
..where(
(row) {
final date = row.date;
return date.year.equals(searchDate.year) &
date.month.equals(searchDate.month) &
date.day.equals(searchDate.day);
},
))
.map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
.watch();
}