Я создаю приложение и мне нужна база данных. База данных содержит таблицу местоположений и таблицу точек интереса.
Это отношение один ко многим.
Местоположение имеет несколько точек интереса.
Теперь я попытался сделать это отношения в трепет с sqflite, но не удалось.
Я уже пытался добавить внешний ключ, но он не работал.
Это только самая важная часть кода.
static final String locationTable = 'location';
static final String columnLocationId = 'id';
static final String columnLocationTitle = 'title';
static final String pointOfInterestTable = 'point_of_interest';
static final String columnPointOfInterestId = 'id';
static final String columnPointOfInterestTitle = 'title';
static final String createTableLocation = 'CREATE TABLE $locationTable('
'$columnLocationId INTEGER PRIMARY KEY AUTOINCREMENT,'
'$columnLocationTitle TEXT NOT NULL)';
static final String createTableLocation = 'CREATE TABLE $pointOfInterestTable('
'$columnPointOfInterestId INTEGER PRIMARY KEY AUTOINCREMENT,'
'$columnPointOfInterestTitle TEXT NOT NULL)';
Future<List> getPointOfInterestsOfLocations(int id) async {
final db = await this.db;
final maps = await db.query(
locationTable,
where: '$columnLocationId = ?',
whereArgs: [id],
);
return maps.toList();
}
И это строка кода для загрузки его в список:
List pointOfViews = await _pointOfViewDb.getPointOfInterestsOfLocations(id: location.id);