如何将完整的对象workstation
放入另一个对象userWorkstationSchedule
?
代码:
Workstation.js
module.exports = {
tableName: 'workstation',
attributes: {
name: { type: 'string', required: true, maxLength: 100, columnType: 'VARCHAR(100)' },
company: { model: 'company', required: true },
workDates: { collection: 'workstationSchedule', via: 'workstation'},
reservedDates: {collection: 'userWorkstationSchedule', via: 'workstation'},
}
}
reservedDates
属性接收来自userWorkstationSchedule
对象的数据UserWorkstationSchedule.js
module.exports = {
tableName: 'user_workstation_schedule',
attributes: {
presenceSchedules: { collection: 'presenceschedule', via: 'userWorkstationSchedule' },
workstation: {collection: 'workstation', via: 'reservedDates'},
}
}
你不需要放"完整的对象",他已经在了,这就是Sails.js和任何ORM的力量。
数据影响是异步和"懒惰"的。(更多关于LazyLoading的信息(
ORM只加载绝对必要的内容,而不是所有链接的关联。
在Sails.js中,当您需要一个特定的数据时,您需要通过.populate((方法来填充它。
var userWorkstationSchedule = await UserWorkstationSchedule.find().populate('workstation');
你可以在Sails.JS文档中找到更多关于填充的信息