我有一個很難得到深節約爲這裏所描述的工作: http://www.baqend.com/guide/topics/deep-loading/#deep-saving如何獲得深儲蓄的工作?
我想創建一個用戶,然後立即產生對未來數據的一些佔位符對象,然後保存這些新創建的引用回到用戶表。
這裏是我的代碼陣營母語:
handleRegister = (event) => {
this.setState({ loading: true })
username = this.state.cellphone.replace(/\D/g,'');
db.ready().then((db) => {
var newUser = new db.User({
'username': username
});
db.User.register(newUser, this.state.password)
.then(() => {
var newUserData = new db.UserData({
User: db.User.me,
});
var newUserDataPrivate = new db.UserDataPrivate({
User: db.User.me,
phone: username,
});
var newUserStatus = new db.UserStatus({
User: db.User.me,
status: 0,
licenseVerified: false,
backgroundChecked: false,
hourlyRate: 0,
lastUpdater: null,
});
newUserData.doNext = newUserDataPrivate;
newUserDataPrivate.doNext = newUserStatus;
newUserData.save({depth: 2})
.then (() => {
console.log(newUserData.id)
console.log(newUserDataPrivate.id)
console.log(newUserStatus.id)
//update the User with references after I get the IDs
//this.props.navigation.dispatch(createAccountResetStack)
})
})
.catch(error => {
alert(error.message)
})
})
}
當這個運行時,會發生以下情況:
1) User is created
2) Object in UserData is created with reference to newly created user id
3) the console.log for UserData returns the id of the UserData object
4) the console.log for UserDataPrivate prints null,
5) the console.log for UserStatus prints null
6) the UserDataPrivate and UserStatus objects are not saved to the database
任何提示上,我做錯了什麼在這裏?
在您的下一篇文章中,您已將新對象設置爲「User.UserData」,在本例中您使用了'newUserData.doNext'。您是否在架構中聲明瞭doNext屬性?指南中的doNext屬性只是模式中聲明的普通對象引用屬性。 – hannes