У меня проблема с моим кодом Flutter SDK, когда, когда я вызываю функцию, чтобы извлечь данные из базы данных, он возвращает все данные из моей базы данных (8950 элементов), даже если я делаю правильный фильтр. Но эта проблема происходит только в отладке iOS на Android, и она возвращает только 1 точный элемент из поиска. < /P>
DatabaseReference Function(String id) get productByIdRef =>
(String id) => _database.ref('products/$id');
StreamSubscription? _productsSubscription;
Future
getProductInScanner(String id) async {
final cleanId = id.trim();
final snapshot = await productByIdRef(cleanId).get();
if (!snapshot.exists) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}
final barcode = snapshot.key;
final val = snapshot.value;
try {
Map map = {};
if (val! is Map) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}
if (val is Map) {
map = {...Map.from(val)};
}
Map filtered = {};
if (map.length > 1) {
filtered = Map.fromEntries(
map.entries
.where((e) => e.key == id.trim())
.map((e) => MapEntry(e.key, Map.from(e.value))),
);
}
if (filtered.isEmpty) {
return ProductData(
id: "",
brands: "",
composition: "",
country: "",
name: "",
urlImage: "",
);
}
return ProductData.fromMap(map);
} catch (_) {
throw FormatException('Erro ao fomatar dados do produto');
}
}
Мне нужен этот код на iOS, чтобы вернуть только конкретный идентификатор, который я указываю в .Child ().
Но я уже понял, что это проблема iOS SDK, но я надеюсь, что кто -то сможет мне как скорее, если я ошибся.
У меня проблема с моим кодом Flutter SDK, когда, когда я вызываю функцию, чтобы извлечь данные из базы данных, он возвращает все данные из моей базы данных (8950 элементов), даже если я делаю правильный фильтр. Но эта проблема происходит только в отладке iOS на Android, и она возвращает только 1 точный элемент из поиска. < /P> [code]DatabaseReference Function(String id) get productByIdRef => (String id) => _database.ref('products/$id');
StreamSubscription? _productsSubscription;
Future getProductInScanner(String id) async { final cleanId = id.trim(); final snapshot = await productByIdRef(cleanId).get();
return ProductData.fromMap(map); } catch (_) { throw FormatException('Erro ao fomatar dados do produto'); } } [/code] Мне нужен этот код на iOS, чтобы вернуть только конкретный идентификатор, который я указываю в .Child (). Но я уже понял, что это проблема iOS SDK, но я надеюсь, что кто -то сможет мне как скорее, если я ошибся.