我很难弄清楚 sails/水线是否能做到这一点。 (所以一个足够的答案就是这是否可能,我一直在阅读文档,浏览 github 问题并浏览代码,但仍然不确定)
我有一个一对一的关联设置,其中“帐户”有一个“联系人”
我正在尝试在 sails 蓝图中创建联系人(所以基本上只使用 create() 方法)
account =
{ name: 'Corp'
contact:{
firstName: 'Bob',
lastName: 'Jones'
}
}
那么 Account.create(account).exec() 应该创建帐户和关联的联系人吗?因为我收到以下错误
TypeError: Cannot convert null to object
我的模型是这样设置的
account.js
module.exports = {
migrate: 'safe',
tableName: 'accounts',
autoPK: false,
attributes: {
id: {
type: 'INTEGER',
primaryKey: true,
autoIncrement: true
},
contactId: 'INTEGER',
name: {type: 'STRING', maxLength: 100},
contact: {
model: 'contact',
columnName:'contactId'
}
}
};
我使用的是 sails 10.0-rc8/水线 10.0-rc15
最佳答案
与其父实例同时创建关联实例(也称为“嵌套创建”)应该可行,但在处理遗留数据库时,要让事情恰到好处是很棘手的。在您的情况下, contactId
属性声明可能会导致问题,因为 Waterline 期望外键字段是隐式的,而不是显式的。尝试删除:
contactId: 'INTEGER',
完全看看你会得到什么。
关于sails.js - 在 Sailsjs 中创建父/子关联记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591711/