gpt4 book ai didi

Flutter - 我如何将数据更新到 firebase 上的实时数据库并在我不知道的情况下找到这些键

转载 作者:行者123 更新时间:2023-12-03 03:57:01 32 4
gpt4 key购买 nike

enter image description here

我是新来的,我想知道如果我不知道这些键,我如何在 firebase 上更新实时数据库中的数据。
例如,当我不知道这些键时,我想动态或单独将 partStatus 从“进行中”更改为“已交付”。

最佳答案

您必须确保每当您向数据库添加新项目并生成 autoId 时,数据库生成 ID 应该是 id用于在项目中保存数据的模型类。因此,每当进行更新时,引用 id因为数据库 key 可以让您访问要更新的产品。

请参阅以下示例代码:

...
//fetching logic here
Future<void> fetchAndSetOrders() async {
final url = 'https://<*firebase-project-name*>.firebaseio.com/orderList.json?auth=$authToken';
//add try and catch errors
try {
final response = await http.get(url);
final responseData = json.decode(response.body) as Map<String, dynamic>;
if (responseData == null) {
return;
}
List<OrderItem> loadedOrders = [];
responseData.forEach(
(orderId, orderData) => loadedOrders.add(
OrderItem(
orderNo: orderData['orderNo'],
partNo: orderData['partNo'],
status: orderData['partStatus'],
qty: orderData['qty'],
//**here id of order item is the orderId attached to the response
id: orderId,
),
),
);
_items = loadedOrders;
notifyListeners();
} catch (error) {
//
}
}
...

现在更新订单..因为每个订单都有一个 id 等于数据库中数据项的键
...
Future<void> updateOrder(String orderId, OrderItem order) async {
//note that i added the orderId to the url string
final url = 'https://<*firebase-project-name*>.firebaseio.com/orderList/$orderId.json?auth=$authToken';
await http.patch(
url,
body: json.encode({
'orderNo': order.orderNo,
'partNo': order.partNo,
'partStatus': order.status,
'qty': order.qty,
}),
);
}
...

快乐编码 D:)

关于Flutter - 我如何将数据更新到 firebase 上的实时数据库并在我不知道的情况下找到这些键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285626/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com