Sql server Azure移动服务:插入到多个表
我正在我的应用程序(HTML5SDK)中构建一个食品订购系统。创建项目时,项目可以有多个浇头(额外的奶酪,额外的鸡肉等) 这就是我想做的Sql server Azure移动服务:插入到多个表,sql-server,arrays,azure,middleware,azure-mobile-services,Sql Server,Arrays,Azure,Middleware,Azure Mobile Services,我正在我的应用程序(HTML5SDK)中构建一个食品订购系统。创建项目时,项目可以有多个浇头(额外的奶酪,额外的鸡肉等) 这就是我想做的 将项目插入Items表(我可以简单地完成) 获取从应用程序发送的浇头数组,并将其插入浇头表(不确定如何发送浇头数组。每个浇头都有名称和价格)我可以将它们作为属性添加到items insert service request并发送吗 问题 我可以毫无问题地插入一个项目,但我不知道如何获取浇头数组列表并将其插入浇头表 我可以在Azure移动服务请求中将对象数组作为
Items
表(我可以简单地完成)浇头
表(不确定如何发送浇头数组。每个浇头都有名称和价格)我可以将它们作为属性添加到items insert service request并发送吗提前感谢您的时间。处理此问题的一种方法是在Items表上使用自定义的insert脚本,以便它解析数组并将数组中的每个项目插入Toppings表(如果需要,包括item 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();
}
});
}});
}
哦,哇,谢谢,成功了:)顺便说一句,我发现了一个错误count
变量应初始化为0
而不是toppings.length