2016-04-29 12 views
1

したがって、私は2つのモデルUserとChatを持っています。各ユーザーは複数のチャットを持つことができ、各チャットは複数のユーザーを持つことができます。これは私のデータベースと呼ばれるuser_chats内のテーブルを作成し、sequelizeのマニュアルによると、私は私のユーザモデルに私のチャットモデルとaddChatにアドユーザーを使用することができるはず、Sequelize Node.js多対多の関係を作成した後に新しい関数が機能しない

var db = require('../db'); 
var Chat = require('../models/chats'); 
var User = require('../models/users'); 


var UserChat = db.connection.define("user_chat", { 
    id: { 
     type: db.Sequelize.INTEGER, 
     primaryKey: true, 
     autoIncrement: true 
    } 
}) 

Chat.ChatModel.belongsToMany(User.UserModel, {through: {model: 'user_chat'}}); 
User.UserModel.belongsToMany(Chat.ChatModel, {through: {model: 'user_chat'}}); 

- だから私はUserChatと呼ばれる新しいモデルを作成しました

しかし、私はChat.ChatModel.addUser(ユーザー)を使用しようとすると、私はこれは私がチャットモデルとユーザーモデルを宣言する方法です

「アドユーザーは関数ではありません」エラーが出る -

var db = require('../db') 
    var Chat = db.connection.define("chat", { 
     chatname: { 
      type: db.Sequelize.STRING, 
      unique: true, 
      allowNull: false 
     }, 
     creator:{ 
      type: db.Sequelize.INTEGER, 
      unique: false, 
      allowNull: false 
     } 
    }); 

    module.exports.ChatModel = Chat; 

その後、私のユーザーモデル(簡体字) - 私はアドユーザー関数または任意の新しい機能を使用しようと

var db = require('../db') 

var User = db.connection.define("user", { 
    username: { 
     type: db.Sequelize.STRING, 
     unique: true, 
     allowNull: false 
    }, 
    password: { 
     type: db.Sequelize.STRING, 
     unique: false, 
     allowNull: false 
    }, 
}); 

module.exports.UserModel = User; 

は、今私は、私は機能はまだないというエラーが出ますdocumentationに応じて与えられるべきです存在する。

答えて

0

私の問題は、実際のモデルでメソッドを呼び出そうとしていたのですが、メソッドがモデルのインスタンスに追加されました。だからあなたはチャット/ユーザーを見つける前にそれにaddChatまたはaddUserを使用する必要があります。

関連する問題