Sails.js 在Sailsjs中创建父/子关联记录

Sails.js 在Sailsjs中创建父/子关联记录,sails.js,waterline,Sails.js,Waterline,我很难弄清楚船帆/水线是否会这样。 (因此,一个充分的答案是,这是否可能,我一直在阅读文档,查看github问题和代码,但仍然不确定) 我有一对一的关联设置,其中“帐户”有“联系人” 我正在尝试在sails蓝图中创建联系人(因此基本上只使用create()方法) Account.create(Account.exec()是否应该创建帐户和关联联系人?因为我得到了以下错误 TypeError: Cannot convert null to object 我的模型是这样设置的 account.js

我很难弄清楚船帆/水线是否会这样。 (因此,一个充分的答案是,这是否可能,我一直在阅读文档,查看github问题和代码,但仍然不确定)

我有一对一的关联设置,其中“帐户”有“联系人”

我正在尝试在sails蓝图中创建联系人(因此基本上只使用create()方法)

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/waterline 10.0-rc15创建一个关联实例,同时它的父实例(也称为“嵌套创建”)应该可以工作,但是在处理遗留数据库时,要使事情正确进行是很困难的。在您的例子中,
contactId
属性声明可能是导致问题的原因,因为Waterline希望外键字段是隐式的,而不是显式的。尝试删除:

contactId: 'INTEGER',

完全的,看看你能得到什么

经过一些研究后,我发现从waterline的0.10.0-rc15版本开始,您无法拥有自定义外键。在上面的模型中,如果我将“contactId”列更改为“contact”(基本上使它看起来与文档中的完全一样,那么它就可以工作了

我做了下面的bug报告

不,在哪里,同样的错误消息。我觉得传统的DBs比sails的价值更麻烦。sails真的,真的想为我构建DB。我刚刚运行了一个新的测试,让sails为我创建DB,但它仍然不起作用。同样的错误消息。嗯,真的很奇怪。我会通过做一个最小的测试来检查所有东西是否安装正确,只是<代码>属性:{name:'string',contact:{model:'contact'};如果这不起作用,那么还有其他一些潜在问题……是的,我将尝试一个完全干燥的应用程序,看看会发生什么。看看github问题,似乎你弄乱了主键,它在sails中不起作用。仅供参考:在当前版本中,这一问题现在已得到修复。
contactId: 'INTEGER',