首页 > 解决方案 > 如何将 Hive 对象(HiveList)列表存储/更新为 Hive 对象

问题描述

我想将 Hive 对象列表存储Model2到 Hive 对象Model1

这是我的数据模型:

@HiveType(typeId: 0)
class Model1 extends HiveObject {
  @HiveField(0)
  int? id;
  @HiveField(1)
  HiveList<Model2>? list;

  Model1({this.id, this.list});
}

@HiveType(typeId: 1)
class Model2 extends HiveObject {
  @HiveField(0)
  int? id;
  @HiveField(1)
  String? name;

  Model2({this.id, this.name});
}

起初我Model1用这个存储:

await model1Box.add(Model1(id: counter, list: HiveList<Model2>(model2Box)));

然后我尝试这种方式来存储/更新这个Model2列表Model1

    var _object = Model2(id: counter, name: 'Name $counter');

    await model2Box.add(_object);

    model1Box.values.last.list!.add(_object);

但这不起作用。

标签: flutterdartflutter-hive

解决方案


推荐阅读