我尝试在for循环中多次更新。
//Welches Produkt wurde eingekauft
for(int i = 0; i < Test.data.produkte.length; i++){
//In welchem Dokument
for (int j = 0; j < querySnapshot.documents.length; j++){
ProduktList produkte = ProduktList.fromJson(querySnapshot.documents[j].data);
//Welches produkt aus akt. Dokument
for (int k = 0; k < produkte.produkte.length; k++){
if(Test.data.produkte[i].isChecked){
if(Test.data.produkte[i].name == produkte.produkte[k].name){
produkte.produkte[k].anzahl = 0;
produkte.produkte[k].isChecked = false;
Firestore.instance.runTransaction((transaction) async{
await transaction.update(
Firestore.instance.collection("Benutzer").document("Anton").collection("Einkaufsliste").document(
querySnapshot.documents[j].documentID),
produkte.toProdukteJson()
);
});
print("Name: " + Test.data.produkte[i].name);
break;
}
}else{
if(Test.data.produkte[i].name == produkte.produkte[k].name){
if(Test.data.produkte[i].anzahl != produkte.produkte[k].anzahl){
produkte.produkte[k].anzahl = Test.data.produkte[i].anzahl;
Firestore.instance.runTransaction((transaction) async{
await transaction.update(
Firestore.instance.collection("Benutzer").document("Anton").collection("Einkaufsliste").document(
querySnapshot.documents[j].documentID),
produkte.toProdukteJson()
);
});
}
}
}
}
}
}
该函数每次都被调用,但仅更新一次。我不知道如何解决这个问题。你能帮我吗?