Как добавить атрибут с массивом целочисленных данных в модели sails.js?
Я использую паруса с postgresql, и у меня есть пользователь с массивом идентификаторов групп. Я хочу сохранить идентификатор группы в пользовательской таблице. моя модель пользователя похожа на:
module.exports = {
attributes: {
first_name: {
type: 'string'
},
last_name: {
type: 'string'
},
company: {
type: 'string'
},
password: {
type: 'string',
minLength: 6,
required: true,
columnName: "password"
},
user_groups: {
model: 'groups',
}
}
но когда я отправляю запрос типа [2], я получаю ошибку:
Не удалось использовать указанный
user_groups
, Ожидается идентификатор, представляющий связанную запись, илиnull
чтобы указать, что не будет никакой связанной записи. Но указанное значение не является действительнымuser_groups
, Вместо числа (ожидаемый тип pk) получилось: [ 2 ]
1 ответ
Чтобы связать много-к-одному в Waterline, синтаксис немного отличается. В этом объекте для этого поля вам нужно collection
а также via
(имя соответствующего поля в связанной коллекции). Так что в User
(для соглашения, я делаю название модели в единственном числе и PascalCase) это будет что-то вроде:
user_groups: {
collection: 'Group',
via: 'users'
}
Хотя в Group
модель, у вас есть:
users: {
collection: 'User',
via: 'user_groups'
}