【发布时间】:2016-02-08 20:12:21
【问题描述】:
这是我的情况:
我正在使用 postgres 9.4,Sequelize ORM 并有以下模型:
-
服务
- serviceCode - 主键,6 个字符的字符串
- serviceTitle - 字符串
-
服务组
- serviceCodePrefixes - 作为 Service.serviceCode 前缀的字符串数组
- serviceGroupTitle - 字符串
-
任务
- serviceCode - 对服务的引用
我需要构建填充了 Service 和 ServiceGroup 对象的 Task 对象。 示例:
In database:
Service {
serviceCode: '123232',
serviceTitle: 'svc title #1',
}
ServiceGroup {
serviceCodePrefix: ['12', '13', '92', ...],
serviceGroupTitle: 'svc grp title #1',
}
Task {
serviceCode: '123232',
}
Result:
Task {
service: {
serviceTitle: 'svc title #1',
},
serviceGroup: {
serviceGroupTitle: 'svc grp title #1',
},
}
问题是serviceCodePrefix包含的不是简单的ID,可以使用hasOne/belongsTo/等来创建关联,而是ID的前缀。
所以问题是:如何在没有原始 sql 的情况下做到这一点?
【问题讨论】: