1

我想获取输入同一天的记录流(如日期为 2020 年 2 月 23 日的所有记录)。

Stream<List<BloodSugar>> watchBloodSugarsInDate(DateTime date) {

    return (select(bloodSugarsEntity)
          ..where((bp) => bp.date.equals(date)))
        .map((bloodSugarsEntity) => convertEntityToModel(bloodSugarsEntity))
        .watch();
  }

这是我的代码,它不起作用,因为 dateTime 是日期和时间的组合。我尝试使用嵌套查询来分别比较年、月和日,但我做不到。任何帮助将不胜感激。

4

2 回答 2

2

您可以date从您的中获取row,并与通过的进行比较searchDate

您必须比较yearwith yearmonthwithmonthdaywith 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-07-04T23:16:00.273 回答
1
  bool isSameDate(bp) {
    final value = bp.date;

    return value.year == date.year &&
        value.month == date.month &&
        value.day == date.day;
  }
于 2020-02-23T17:31:52.893 回答