首页 > 解决方案 > 如何将具有列表的对象保存为 SQL 数据库中的属性

问题描述

我想在我的 sqflite 数据库中存储 Day 对象列表。Day 类如下所示:

class Day {
  String date; 
  List<DoneTask> doneTasks;
  double score = 0;

Day({this.doneTasks, this.date});
}

DoneTask 类:

class DoneTask {
  Category category;
  double score;
  String description;

DoneTask({this.category, this.score, this.description});
}

类别有一个属性 id,这是我想要存储的所有内容。

我不确定如何使用 sqflite 实现这一点。我正在考虑将属性添加String day到 DoneTasks 类中,以便首先加载 DoneTasks,然后将它们分类到 Days 中。但这对我来说听起来不是一个好的解决方案,有谁知道我该如何以更好的方式做到这一点?

我对使用 SQL 很陌生,所以我很欣赏简单的答案/

(这是我用于 sqflite 的内容:https ://flutter.dev/docs/cookbook/persistence/sqlite )

标签: sqlflutterdartsqflite

解决方案


如果这是您要使用的数据架构,我建议您使用 noSQL 数据库。当然,我不知道您的整个项目的范围,因此由于某些我不知道的原因,SQL 数据库可能更适合。但是鉴于您所介绍的内容, sqflite 的 noSQL 替代品似乎是一个更好的选择。这将允许记录作为对象有效地存储,允许您将对象存储在对象中,而不必创建一堆相互交叉引用的表。这样做对我来说似乎更直观。


推荐阅读