Отношение один ко многим в CompoundJS
Я новичок в CompoundJS, и у меня возникла проблема с установлением отношений один ко многим с jugglingDB.I 'используя MySQL в качестве базы данных.
Я установил две модели Книга и Автор.
Книга имеет много авторов.
Это моеschema.js
(дБ / schema.js):
var Book = describe('Book', function () {
property('title', String);
property('isbn', String);
property('authorId', Number);
set('restPath', pathTo.books);
});
var Author = describe('Author', function () {
property('name', String);
property('authorId', Number);
set('restPath', pathTo.authors);
});
Я положил отношения в моделях / Book.js. Это моеBook.js
(модели / Book.js):
module.exports = function (compound, Book) {
Book.hasMany(compound.models.Author, {as: 'author', foreignKey: 'authorId'});
};
Это моеAuthor.js
(модели / Author.js):
module.exports = function (compound, Author) {
Author.belongsTo(compound.models.Book, {as: 'books', foreignKey: 'authorId'});
};
Проблема в том, что я могусоздать эти отношения. Когда я проверяю таблицу, внешний ключ не устанавливается в таблице.
Я удаляю отношение из моделей Book.js и Author.js и помещаю отношение в сам schema.js
После этого schema.js будет выглядеть так:
var Book = describe('Book', function () {
property('title', String);
property('isbn', String);
property('authorId', Number);
set('restPath', pathTo.books);
});
var Author = describe('Author', function () {
property('name', String);
property('authorId', Number);
set('restPath', pathTo.authors);
});
Book.hasMany(Author, {as: 'author', foreignKey: 'authorId'});
Author.belongsTo(Book, {as: 'books', foreignKey: 'authorId'});
но результат тот же.
Есть ли проблема в приведенном выше коде? если так, как я могу решить это?