BookshelfJS:如何定义除ID以外的外键的关系

时间:2015-08-05 19:44:50

标签: javascript sql node.js bookshelf.js

我有两个表:devicesdiagnostics

diagnostic注册之前运行device。将cpu_id保存为diagnostic运行的一部分。然后device注册后,其中也会记录cpu_id

这是多对一关系,这里的外键是chip_id

我为这两张桌子尝试了以下内容,但我什么都没得到:

设备

diagnostics: function () {
    var Diagnostic = require('./db').model('Diagnostic');
    return this.hasMany(Diagnostic, 'chip_id');
}

诊断

device: function () {
    var Device = require('./config/db').model('Device');
    return this.belongsTo(Device, 'chip_id');
}

我做错了什么?

1 个答案:

答案 0 :(得分:-1)

你需要在模型中定义hasMany和BelongsTo,然后你需要像这样重新检索你的关系

dataSource {
        pooled = true
        loggingSql = true
        driverClassName = "com.mysql.jdbc.Driver"
        dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
        username = "user"
        password = "pw"
        dbCreate = "update"  
        url = "jdbc:mysql://127.0.0.1/test"
    }

使用withRelated标记您需要关系和执行急切加载的相关函数