Sequelize - 连接表从未创建

时间:2015-07-29 13:41:22

标签: mysql node.js sequelize.js

我一直在尝试制作一条简单的消息'在尝试MongoDB之后,我发现它最适合用MySQL。

所以,不是手工编写所有表格/查询等,我想学习从头开始用ORM,a.k。 Sequelize。

假设我有一个用户表:

    var User = sequelize.define('user', {
        email: {
            type: Sequelize.STRING,
            validate:  {
                isEmail: true
                //msg: "Email is invalid"
            }
        }
    }

和消息表:

var Message =  sequelize.define('message', {
    message: {type: Sequelize.STRING},
    sender: {type: Sequelize.STRING},
    read: {type: Sequelize.BOOLEAN}
}

每个用户都可以拥有多条消息,每条消息都可以在对话中拥有2个用户。

所以当我这样做时:

User.hasMany(Message);
Message.belongsToMany(User, {through: 'Conversation', foreign_key: 'id'});

User.sync();
Message.sync();

我希望找到一个联络表'命名对话...持有user_id' s。每条消息都引用了Conversation_id,但显然它不是真的......

有人知道正确的方法是什么吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

对于创建array_intersect表,您需要同步所有:$individualdlcats = get_the_terms($post->ID, 'download_category'); foreach ($individualdlcats as $taxitem) { $testarrayA = $taxitem->slug; } $shortcodecatslugs = explode( ',', $atts['category'] ); foreach( $shortcodecatslugs as $shortcodecatslugs1 ) { $testarrayB = $shortcodecatslugs1->slug; } $newArray = array_intersect($testarrayA, $testarrayB); foreach ($newArray as $key => $value) { echo "$value "; };