Javascript 将多个对象从Angular保存到Sequelize
我正在使用mean.js创建一个系统,我将mongoose部分更改为sequelize,并尝试通过sequelize将多个对象从Angular保存到我的数据库中 我遵循这一点,为多个计划在Dia(Day)选项上动态创建多个输入。 我的控制器是这样的:Javascript 将多个对象从Angular保存到Sequelize,javascript,angularjs,sequelize.js,meanjs,Javascript,Angularjs,Sequelize.js,Meanjs,我正在使用mean.js创建一个系统,我将mongoose部分更改为sequelize,并尝试通过sequelize将多个对象从Angular保存到我的数据库中 我遵循这一点,为多个计划在Dia(Day)选项上动态创建多个输入。 我的控制器是这样的: $scope.horarios = []; $scope.itemsToAdd = [{ Day: '', StartHour: '', EndHour: '' }]; $scope.add = function(itemToAdd
$scope.horarios = [];
$scope.itemsToAdd = [{
Day: '',
StartHour: '',
EndHour: ''
}];
$scope.add = function(itemToAdd) {
var index = $scope.itemsToAdd.indexOf(itemToAdd);
$scope.itemsToAdd.splice(index, 1);
$scope.horarios.push(angular.copy(itemToAdd))
};
$scope.addNew = function() {
$scope.itemsToAdd.push({
Day: '',
StartHour: '',
EndHour: ''
});
console.log($scope.itemsToAdd);
};
和视图
<div class="col-xs-12" style="padding: 0" ng-repeat="itemToAdd in itemsToAdd">
<div class="form-group col-xs-12 col-sm-5" >
<label for="Days">Dia</label> <select class="form-control col-xs-12 col-sm-6" data-ng-model="itemToAdd.Day" id="Days" name="Days">
<option value="">---Seleccione uno---</option>
....
</select>
</div>
<div class="form-group col-xs-5 col-sm-3">
<label class="control-label" for="startHour">Hora Inicio</label> <input class="form-control" id="startHour" name="startHour" ng-model="itemToAdd.StartHour" type="time">
</div>
<div class="form-group col-xs-5 col-sm-3">
<label class="control-label" for="endHour">Hora Termino</label> <input class="form-control" id="endHour" name="endHour" ng-model="itemToAdd.EndHour" type="time">
</div>
<div class="col-xs-2 col-sm-1">
<button ng-click="addNew()" class="btn btn-success" style="position: relative; top:26px"><i class="glyphicon glyphicon-plus"></i></button>
</div>
</div>
和续集:
exports.create = function(req, res) {
var schedule = req.body.Schedule;
req.body.schedule = undefined;
// req.body.userId = req.user.id;
db.Course.create(req.body)
.then(function(course) {
if (!course) {
return res.send('users/signup', {
errors: 'Could not create the course'
});
} else {
schedule.CourseId = course.dataValues.id;
db.Schedule.create(schedule)
.then(function(schedule) {
for (var i = schedule.dataValues.length - 1; i >= 0; i++) {
course.schedule = schedule.dataValues[i];
}
// course.schedule = schedule.dataValues;
})
.catch(function(err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
});
return res.jsonp(course);
}
})
.catch(function(err) {
return res.status(400)
.send({
message: errorHandler.getErrorMessage(err)
});
});
})
但老实说,我不知道如何保存它,或者我的角度控制器是否是正确的方法。希望您能帮助我或给我一些提示。除了更新单个实例外,您还可以一次创建、更新和删除多个实例。您正在寻找的函数被调用 Model.bulkCreat
您需要使用bulkCreate方法:在此处查找:。但是我不确定这个方法是否返回创建的记录。最后一条评论也告诉了我批量创建,但是当我有一个可变的$scope时,如何使用它。日程安排从一天到六天,周一到周六。我所做的是为schedule$范围内的每个项目创建一个bucle并调用save函数<代码>angular.forEach($scope.Schedules,function(row,index){var horario=newschedules(row);horario.$save();})但是我认为这不是最好的方法。
exports.create = function(req, res) {
var schedule = req.body.Schedule;
req.body.schedule = undefined;
// req.body.userId = req.user.id;
db.Course.create(req.body)
.then(function(course) {
if (!course) {
return res.send('users/signup', {
errors: 'Could not create the course'
});
} else {
schedule.CourseId = course.dataValues.id;
db.Schedule.create(schedule)
.then(function(schedule) {
for (var i = schedule.dataValues.length - 1; i >= 0; i++) {
course.schedule = schedule.dataValues[i];
}
// course.schedule = schedule.dataValues;
})
.catch(function(err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
});
return res.jsonp(course);
}
})
.catch(function(err) {
return res.status(400)
.send({
message: errorHandler.getErrorMessage(err)
});
});