У меня есть сквозная связь для двух объектов, Assignment
и Tags
. Они соединяются через модель AssignmentTag
. Я могу читать & писать между этими объектами в порядке, но когда я пытаюсь обновить, он не отбрасывает существующие ассоциации до see notes for .update().Обновление ватерлинии через ассоциацию
Я считаю, что мне нужно передать массив идентификаторов тегов в модель присвоения, а также удалить текущие ассоциации и обновить новые ассоциации.
Assignment.update({id: req.param("assignmentId")}, {tags: tags})
.exec(function (err, updated) {
if (err) {
return res.serverError(err);
}
return res.json({
updated
}
});
Assignment.js
модель:
module.exports = {
connection: db_connection,
tableName: 'assignments',
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true,
unique: true
},
title: {
type: 'string'
}, // varchar(255)
description: {
type: 'text'
}, // text
// an assignment may have many tags
tags: {
collection: 'tag',
via: 'assignment',
through: 'assignmenttag'
},
}
};
Tag.js
модель:
module.exports = {
connection: db_connection,
tableName: 'tags',
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true,
unique: true
},
title: {
type: 'string'
}, // varchar(255)
description: {
type: 'text'
}, // text
// A tag may have many assignments
assignments: {
collection: 'assignment',
via: 'tag',
through: 'assignmenttag'
},
}
};
AssignmentTag.js
модель:
module.exports = {
connection: db_conection,
tableName: 'assignment_tag',
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true,
unique: true
},
assignment: {
columnName: 'assignment_id',
model: 'assignment'
},
tag: {
columnName: 'tag_id',
model: 'tag'
},
}
};
Любая идея, почему тег, как ассоциации не снижаются на .update()
?
ОБНОВЛЕНИЕ: Я создал проблему в проекте Waterline, чтобы получить дополнительную помощь. Я выделил проблему в репозитории, связанном с проблемой Waterline. https://github.com/balderdashy/waterline/issues/1453
ПОСТАНОВИЛИ: ватерлинии реагировала примерно через неделю и обновленные модели ассоциации для размещения этого запроса. См. Вопрос: https://github.com/balderdashy/waterline/issues/1453. По-видимому, они переписывают эти ассоциации в предстоящем выпуске, поэтому этот вопрос должен быть устаревшим.
Здравствуйте, пожалуйста, добавьте некоторые детали к вашему ответу, чтобы было понятно и понятнее. – Chaithanya
Посмотрите прилагаемый вопрос с Waterline. В этом диалоге все объяснено. – Chase
Спасибо за информацию. Хотя предоставление ссылок на внешние ресурсы полезно, лучше предоставить решение в самом ответе и использовать гиперссылки для справки. Посмотрите http://stackoverflow.com/help/how-to-answer советы о том, как писать хорошие ответы. – Chaithanya