使用请求.对象作为另一个类的parentObject在afterSave
Using request.object as a parentObject of another class in afterSave
我正在尝试使用CloudCode afterSave来创建触发afterSave的对象的childObjects。
这是我的理解。对象是刚刚保存的对象。我已经能够访问请求的所有字段。对象,但对于我的生活不能弄清楚如何设置它的父字段的对象,我正在创建这个函数。
我的代码示例:
Parse.Cloud.afterSave("Reservation", function(request) {
var aDate = request.object.get("arrivalDate");
var dDate = request.object.get("departureDate");
aDate.setHours(0,0,0,0);
dDate.setHours(0,0,0,0);
aDate = Date.UTC(aDate.getFullYear(), aDate.getMonth(), aDate.getDate());
dDate = Date.UTC(dDate.getFullYear(), dDate.getMonth(), dDate.getDate());
var dateDiff = Math.abs(aDate-dDate);
dateDiff = dateDiff/1000/60/60/24;
console.log(aDate);
console.log(dDate);
console.log(dateDiff);
console.log(request.object);
var datesArray = [];
for (var i = 0; i < dateDiff; ++i) {
var ResDay = Parse.Object.extend("ResDay");
var resDay = new ResDay();
var newDate = new Date(aDate);
newDate.setDate(newDate.getDate() + i);
resDay.set("aResDate", newDate);
resDay.set("parentReservation", request.object);
datesArray[datesArray.length] = resDay;
}
console.log(datesArray);
});
现在我意识到我还没有调用任何东西来保存新的ResDay对象,那是因为我不能通过设置请求。对象作为父对象
我得到的日志是:Uncaught试图保存一个对象的指针指向一个新的,未保存的对象。
我已经尝试了多次迭代试图设置它。在iOS中,它是这样工作的,但我不知道javascript:
resDay["parentReservation"] = reservation //While reservation is a PFObject
我花了两天的时间在谷歌上搜索和搜索,我累坏了。呼叫援助。如果你需要任何其他信息,以便给我一些指导,请问。由于
听起来像是一个bug,因为此时应该保存预订对象。
尝试以下操作:
// not sure what your class name is, replace as needed
var reservation = new Parse.Object("Reservation");
reservation.id = request.object.id;
// reservation is now a bare-bones pointer we can use
resDay.set("parentReservation", reservation);
还可以尝试记录id以确保:
console.log(request.object.id);