我正在我的应用程序中构建一个食物订购系统(html 5 sdk)。创建项目时,项目可以有多个浇头(额外的奶酪,额外的鸡肉等)。
所以这就是我想做的事情
Items
表(我可以简单地执行)Toppings
表格(不知道如何发送浇头数组。每个浇头都有名称和价格)我可以将它们作为属性添加到商品中插入服务请求并发送?? 问题
我可以毫无问题地插入一个项目,但我不知道如何获取浇头的数组列表并将其插入到Topping表中。
我可以在Azure移动服务服务请求中将对象数组作为属性发送吗?
感谢您的提前时间。
答案 0 :(得分:3)
解决此问题的一种方法是在Items表上有一个自定义插入脚本,以便它解析数组并将数组的每个项插入Toppings表(如果需要,包括项ID)。例如:
function insert(item, user, request) {
var toppings = item.Toppings;
item.Toppings = null;
request.execute({ success: function() {
var toppingsTable = tables.getTable('Toppings');
var count = 0;
toppings.forEach(function(topping, index) {
topping.itemId = item.id;
toppingsTable.insert(topping, {
success: function() {
count++;
if (toppings.length === count) {
request.respond();
}
},
error: function(err) {
console.warn('Error while inserting toppings objects', err);
count++;
if (toppings.length === count) {
request.respond();
}
});
}});
}