在颤动的蜂巢中按日期检索数据

Posted

技术标签:

【中文标题】在颤动的蜂巢中按日期检索数据【英文标题】:Retrieving the data datewise in hive in flutter 【发布时间】:2021-07-07 18:57:55 【问题描述】:

我正在使用 Flutter 制作一个应用程序并创建一个使用 hive 的数据库,用户将获得一个选项来保存基于某些字段的交易细节 现在我想要的是基于交易日期特定月份所有交易的总和,然后在特定页面上显示其总和,例如

我用来创建表单域的代码

class Transaction extends HiveObject 
 @HiveField(0)
 String paymentMode;
 @HiveField(1)
 bool unnecessary;
 @HiveField(2)
 String title;
 @HiveField(3)
 DateTime createdOn;
 @HiveField(4)
 int amount;
 @HiveField(5)
 String category;

 Transaction(
  this.paymentMode = "",
  this.unnecessary = false,
  this.title = "",
  this.createdOn,
  this.amount = 0,
  this.category="",
  );

  Transaction.fromJson(Map<String, dynamic>  map) :
    paymentMode = map['paymentMode']  ?? "",
    unnecessary = map['unnecessary']  ?? false,
    title = map['title']  ?? "",
    createdOn = map['createdOn']  ?? DateTime.now(),
    amount = map['amount']  ?? 0,
    category = map['category'] ?? "";

Map<String, dynamic> toJson() => 
    'paymentMode': paymentMode,
    'unnecessary': false,
    'title': title,
    'createdOn': createdOn,
    'amount': amount,
    'category': category,
     ;

  Transaction copyWith(
    String paymentMode,
    bool unnecessary,
    String title,
    DateTime createdOn,
    User user,
    int amount,
    String category,
    ) 
    return Transaction(
     paymentMode: paymentMode ?? this.paymentMode,
     unnecessary: unnecessary ?? this.unnecessary,
     title: title ?? this.title,
     createdOn: createdOn ?? this.createdOn,
     amount: amount ?? this.amount,
     category: category ?? this.category,
       );
   

代码

【问题讨论】:

【参考方案1】:

我假设你有一个Transaction 对象的列表, 您可以使用排序功能简单地对该列表进行排序。

listOftransactions.sort((a,b)=>a.createdOn.compareTo(b.createdOn));

这将根据时间戳对列表进行排序,如果您想反转顺序,只需将内联函数中的 a 替换为b

【讨论】:

感谢您的回复,但我想要用户在一个月内保存的所有交易的“金额”总和,例如在第一张图片中,有交易 t1 和 t2(两者都是一月)我想要的是在第二张图片一月字段中显示两笔交易的总和,请帮助我再次感谢您的回答 你能帮忙吗? 运行一个for循环并增加数量,简单

以上是关于在颤动的蜂巢中按日期检索数据的主要内容,如果未能解决你的问题,请参考以下文章

在颤动中打开具有不同适配器的蜂巢盒

如何在颤动中删除蜂巢中的所有框?

Flutter - 如何在蜂巢中添加和检索数据?

我如何从颤动的firebase实时数据库中检索数据

如何在颤动中检索json数据元素以列出view.builder?

如果在颤动中获取某个日期,则禁用按钮