Получить коллекцию Isar из строки или переменной класса? что-то вроде isar.${mycollection}
Я создал вспомогательный класс isar для всех моих вызовов isar. Я пытаюсь создать общие функции. Например:
Future<List<dynamic>> listModel(String pModelType) async {
final isar = await _db;
return isar.${pModelType}.where().findAll();
}
это не работает, но я просто пытаюсь проиллюстрировать то, что пытаюсь сделать. У меня работает следующий пример кода, но мне интересно, есть ли более чистый способ сделать это?
рабочий код:
Future<IsarCollection> getIsarModel(Isar pIsar, String pModelType) async {
if(pModelType == "mymodel1") {
return pIsar.mymodel1;
} else if (pModelType == "mymodel2"){
return pIsar.mymodel2;
} else {
return pIsar.mymodel3;
}
}
Future<List<dynamic>> listModel(String pModelType) async {
final isar = await _db;
final isarModel = await getIsarModel(isar, pModelType);
return isarModel.where().findAll();
}