Не совсем понятно как это вообще работает. Ожидаю что при добавлении данных в таблицу Post, данные будут добавлены в ItemTag и Tag. Примера из документации:
const ItemTag = db.define('item_tag', {
id : {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
tag_id: {
type: Sequelize.INTEGER,
unique: 'item_tag_taggable'
},
taggable: {
type: Sequelize.STRING,
unique: 'item_tag_taggable'
},
taggable_id: {
type: Sequelize.INTEGER,
unique: 'item_tag_taggable',
references: null
}
});
const Tag = db.define('tag', {
name: Sequelize.STRING
});
Post.belongsToMany(Tag, {
through: {
model: ItemTag,
unique: false,
scope: {
taggable: 'post'
}
},
foreignKey: 'taggable_id',
constraints: false
});
Tag.belongsToMany(Post, {
through: {
model: ItemTag,
unique: false
},
foreignKey: 'tag_id',
constraints: false
});
Добавил таблицу Post:
const Post = db.define('post', {
title: Sequelize.STRING,
content: Sequelize.TEXT,
image: Sequelize.TEXT
})
Как добавить данные что бы делать запросы типа db.findAll() db.findById()
Route:
router.get('/post', async ctx => {
const post = await Post.findAll()
ctx.body = post
})
Пример отсюда: http://docs.sequelizejs.com/manual/tutorial/associations.html
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости