gpt4 book ai didi

node.js - 继承嵌套关系, "posts"有多个 "authors"?

转载 作者:行者123 更新时间:2023-11-29 12:57:54 24 4
gpt4 key购买 nike

我正在使用 Postgres 学习 Sequelize。我怎样才能让“帖子”有多个作者?我目前每篇文章只有一位作者。我尝试使用 Post.hasMany(Person) 但我无法弄清楚如何在下面的同步语句中填写数据,因为我从教程中复制了它......这是我第一次使用一个数据库。

import Sequelize from 'sequelize';
import _ from 'lodash';
import Faker from 'faker';

const Conn = new Sequelize(
'test_db',
'postgres',
'postgres',
{
dialect: 'postgres',
host: 'localhost'
}
);

const Person = Conn.define('person', {
firstName: {
type: Sequelize.STRING,
allowNull: false
},
lastName: {
type: Sequelize.STRING,
allowNull: false
}
});

const Post = Conn.define('post', {
title: {
type: Sequelize.STRING,
allowNull: false
},
content: {
type: Sequelize.STRING,
allowNull: false
}
});

// Relationships
Person.hasMany(Post);
Post.belongsTo(Person);

Conn.sync({ force: true }).then(() => {
_.times(10, () => {
return Person.create({
firstName: Faker.name.firstName(),
lastName: Faker.name.lastName()
}).then(person => {
return person.createPost({
title: `Sample title by ${person.firstName}`,
content: 'This is a sample article.'
})
})
});
});

export default Conn;

最佳答案

尝试:

Post.belongsToMany(Person);

您还可以指定有关 M2M 的更多详细信息,例如,如果您希望命名中间表:

            Post.belongsToMany(Person, {
as: 'Authors',
through: 'post_authors',
foreignKey: 'id',
otherKey: 'id'
})

关于node.js - 继承嵌套关系, "posts"有多个 "authors"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38312453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com