英文:
flutter : The argument type 'List<UpdateMenuModel>' can't be assigned to the parameter type 'UpdateMenuModel'
问题
如何解决这个模型问题。
我知道这是updateMenuDatabaseHelper.insert(data); 存储为UpdateMenuModel,所以我才会出现错误。
但是如何修复它。我不太明白。
//// updateMenuDatabaseHelper.insert(data); 这是我的SQFLITE数据库功能,我想要添加
List<UpdateMenuModel> data = [];
data.add(UpdateMenuModel(
productId: menuData["ProductId"],
productTitle: menuData["ProductTitle"],
description: menuData["Description"],
defaultPrice: menuData["DefaultPrice"],
isVeg: menuData["DefaultPrice"] == true ? 0 : 1,
fileName: menuData["FileName"] != null ? menuData["FileName"] : "",
image: menuData["Image"],
categoryId: menuData["CategoryId"],
toppings: menuData["Toppings"] != null ? menuData["Toppings"] : "",
itemNo: menuData["ItemNo"],
sizes: menuData["Sizes"],
isActive: menuData["IsActive"] == true ? 0 : 1,
isTopping: menuData["IsTopping"] == true ? 0 : 1,
addedOn: menuData["AddedOn"].toString(),
isDelete: menuData["IsDelete"] == true ? 0 : 1,
quantity: menuData["quantity"]));
}
updateMenuDatabaseHelper.insert(data); ////这是我的SQFLITE数据库功能,我想要添加
Future<UpdateMenuModel> insert(UpdateMenuModel updateMenuModel) async {
var dbClient = await db;
await dbClient.insert('updateMenu', updateMenuModel.toJson());
return updateMenuModel;
}
英文:
how to fix this Model issue.
I know This is updateMenuDatabaseHelper.insert(data); storing as UpdateMenuModel thats why I am getting error.
But how to fix it. I am not understanding.
//// updateMenuDatabaseHelper.insert(data); This is my SQFLITE database functionality where I want to add
List<UpdateMenuModel> data = [];
data.add( UpdateMenuModel(
productId: menuData["ProductId"],
productTitle: menuData["ProductTitle"],
description: menuData["Description"],
defaultPrice: menuData["DefaultPrice"],
isVeg: menuData["DefaultPrice"] == true ? 0 : 1,
fileName:menuData["FileName"] != null ? menuData["FileName"] : "",
image: menuData["Image"],
categoryId: menuData["CategoryId"],
toppings:menuData["Toppings"] != null ? menuData["Toppings"] : "",
itemNo: menuData["ItemNo"],
sizes: menuData["Sizes"],
isActive: menuData["IsActive"] == true ? 0 : 1,
isTopping: menuData["IsTopping"] == true ? 0 : 1,
addedOn: menuData["AddedOn"].toString(),
isDelete: menuData["IsDelete"] == true ? 0 : 1,
quantity: menuData["quantity"]));
}
updateMenuDatabaseHelper.insert(data); ////This is my SQFLITE database functionality where I want to add
Future<UpdateMenuModel> insert(UpdateMenuModel updateMenuModel) async {
var dbClient = await db;
await dbClient.insert('updateMenu', updateMenuModel.toJson());
return updateMenuModel;
}
答案1
得分: 1
尝试这个:
尝试这个:
Future<void> insert(List<UpdateMenuModel> updateMenuModels) async {
var dbClient = await db;
final batch = dbClient.batch();
for (var updateMenuModel in updateMenuModels) {
batch.insert('updateMenu', updateMenuModel.toJson());
}
await batch.commit();
}
英文:
try this :
Future<void> insert(List<UpdateMenuModel> updateMenuModels) async {
var dbClient = await db;
final batch = dbClient.batch();
for (var updateMenuModel in updateMenuModels) {
batch.insert('updateMenu', updateMenuModel.toJson());
}
await batch.commit();
}
答案2
得分: 1
因为你的插入方法一次只接受一个模型,但你写的代码却将整个列表传递给了该插入方法,所以如果你想摆脱这个问题,你需要遍历每个值,逐个插入,或者如果你只想添加最后一个值,那么可以使用 data.last。
英文:
Simply because of your insert method is accepting one modal at a time but as you written was passing the whole list to that insert method so if you want to get rid of it you have loop through each value insert it one by one or if you want to add only last value then use can use data.last.
答案3
得分: 0
这将从List<UpdateMenuModel>中添加最后添加的UpdateMenuModel。
updateMenuDatabaseHelper.insert(data.last);
英文:
this will add the last added UpdateMenuModel from List<UpdateMenuModel>
updateMenuDatabaseHelper.insert(data.last);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论