Вот моя ситуация:Sequelize.js - Как создать нетривиальные ассоциации без необработанного SQL?
Я использую Postgres 9.4, Sequelize ОРМ и имеют следующие модели:
Сервис
- serviceCode - первичный ключ, строка из 6 символов
- serviceTitle - строка
ServiceGroup
- serviceCodePrefixes - массив строк, которые префиксы для Service.serviceCode
- serviceGroupTitle - строка
Задача
- serviceCode - ссылка Сервис
Мне нужно создать объект Task, заполненный объектами Service и ServiceGroup. Пример:
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 содержит не простые идентификаторы, которые могут быть использованы для создания ассоциации с использованием hasOne/belongsTo/и т.д., но префикс для ID..
Так что вопросы: как это можно сделать без необработанного sql?