Sequelize-关联查询中
本文主要介绍的内容为一对多的关系如何进行绑定与查询,首先添加一对多的数据,添加 book 表即可:
INSERT INTO `demo`.`book` (`id`, `name`, `price`, `uId`) VALUES (4, '玩转.net', 66, 1); INSERT INTO `demo`.`book` (`id`, `name`, `price`, `uId`) VALUES (5, '玩转Less', 66, 4); INSERT INTO `demo`.`book` (`id`, `name`, `price`, `uId`) VALUES (6, '玩转Sass', 66, 5);
建立查询关系
官方文档:https://sequelize.org/v5/class/lib/associations/has-one.jHasOne.html
// 4.建立查询关系 // 一个人拥有多本书 User.hasMany(Book, { foreignKey: 'uId', sourceKey: 'id' }); // 一本书属于一个人 Book.belongsTo(User, { foreignKey: 'uId', sourceKey: 'id' }); let user = await User.findOne({ where: { id: 1 }, include: { model: Book } }); console.log(user.dataValues.books.map(b => b.dataValues));
let book = await Book.findOne({ where: { id: 1 }, include: { model: User } }); console.log(book.dataValues.user.dataValues);