如何使用' via'具有多个PK的集合中的属性?

时间:2016-10-17 10:25:31

标签: javascript sails.js waterline sails-postgresql

如何使用' via'具有多个PK的集合中的属性? 以下是hasMany数据模型的示例。

模型定义。

Persistence.prototype.collections.Device = Waterline.Collection.extend({
    identity: 'device',
    connection: 'default',
    attributes: {
        name: {
            type: 'string',
            required: true,
            primaryKey: true
        },
        uuid:{
            type: 'string',
            required: true,
            primaryKey: true
        },
        dataItems: {
            collection: 'dataitem',
            via: 'id'
        }
    }
});

收集定义与两个' via'属性。

Persistence.prototype.collections.DataItem = Waterline.Collection.extend({
    identity: 'dataitem',
    connection: 'default',
    attributes: {
        id: {
            type: 'string',
            unique: true,
            primaryKey: true
        },
        category: 'string',
        type: 'string',
        from_device: {
            model: 'device'
            via: 'name', // ??????
            via: 'uuid' // ?????????
        }
    }
});

1 个答案:

答案 0 :(得分:0)

不要像这样使用via,因为via的值会被覆盖。所以在你的情况下会像那样

from_device: {
   model: 'device'
   //via: 'name', <-- omitted
   via: 'uuid'
}