【问题标题】:How to Map result from db如何从数据库映射结果
【发布时间】:2021-12-01 04:38:34
【问题描述】:

所以我们知道来自 Sqlite 的 rawQuery 返回 >>。

我需要这种形式的数据:

//example

Map<String, List> _dataItems = {
  '1st ': ['Name01', 'SubData01'],
  '2th': ['Name02', 'SubData02'],
  '3th': ['Name03', 'SubData03'], 
};

我正在尝试这样的事情:


List<Map<String, dynamic>> result = await dbService.getData();
  var map = Map<String, dynamic>();
 for (int i = 0; i < result.length; i++) {

map['placeCol'] = result[i]['Name01']
...
}

所以基本上从 db placeCol 返回数据作为键和列表中的其他几个字符串,就像在示例数据中一样。

采用这种方法:

 
Map<String, List> _map = {};

 for (int i = 0; i < result.length; i++) {

  _map[result[i]['placeCol']] = [result[i]['NameCol']];

}

我明白了:


{1st : [Name 01]}
{1st : [Name 02]}
{1st : [Name 03]}
{1st : [Name 04]}
{1st : [Name 05]}
{2st : [Name 01]}
{2st : [Name 02]}
{2st : [Name 03]}

这个:


{1st : [Name 01, Name02,Name03,Name04,Name05],
 2st : [Name 01, Name02,Name03]
}

【问题讨论】:

  • 可以添加从 db 获取的 rawData 吗?

标签: list flutter sqlite dictionary dart


【解决方案1】:

尝试直接从结果地图创建地图 所以for循环里面是这样的

var map = result.elementAt(i)

然后你可以使用 map 来获取你想要打印的数据,看看它看起来如何更好地了解它的结构并使用它来将它放置在你想要的任何地方

【讨论】:

  • 我编辑了我的原始问题 tnx 以供重播。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 2019-01-30
  • 2011-11-05
  • 2020-01-16
  • 2013-12-05
相关资源
最近更新 更多