2017-04-01 11 views
0

タイトルが述べるように、私はSequelizeでフォロー/フォロワー関係を行う方法を理解しようとしています。私はもっ​​とRailsをNodeにしたものを実装しようとしています。ノードFollower/Follower Relationship

だから、HERESにRubyのコード

InRelationship ModelクラスファイルのRuby

ユーザーモデルクラスファイルで
belongs_to :follower, class_name: "User" 
belongs_to :followed, class_name: "User" 

ルビー

# Relationships 
has_many :active_relationships, class_name: "Relationship", foreign_key: "follower_id", dependent: :destroy 
has_many :following, through: :active_relationships, source: :followed 
has_many :followers, through: :passive_relationships, source: :follower 
has_many :passive_relationships, class_name: "Relationship", foreign_key: "followed_id", dependent: :destroy 

今HERESにnodeJS Sequelize にこのコードを変換する私の試みユーザファイル - NodeJS Sequelize

User.hasMany(models.Relationships, { 
     as: "active_relatinships", 
     foreignKey: "followerId" 
    }) 
User.hasMany(models.Relationships, { 
     as: "passive_relatinships", 
     foreignKey: "followingId" 
    }) 

RleationshipファイルNodeJS Sequelize私が間違っているのは何

Relationships.belongsToMany(models.User, 
     {through: "active_relationships", as: "follower"}) 
Relationships.belongsToMany(models.User, 
     {through: "passive_relationships", as: "followed"}) 

?これは私のクエリに含めるtryinときにエラーです

未処理の拒否エラー:関係(active_relationships)は、ユーザーに関連付けられていません!ここで

は、私は、私はこの質問についての考えを持っているクエリ

include: [ 
     {model: models.Areas, as: "current_area" }, 
     {model: models.VisitedAreas}, 
     {model: models.OnTheWays, include: [ 
      {model: models.Areas, as: "Area"}]}, 
     {model: models.Settings}, 
     {model: models.Pictures}, 
     {model: models.Relationships, as: "passive_relationships"}, 
     {model: models.Relationships, as: "active_relationships"}] 

答えて

0

が含まれています!私の選択肢: これを使うべきです。

User.hasMany(models.Relationships, {foreignKey: "followerId"}) 
    include: [{model: models.Relationships}] 

私はこの質問についてデモを書く:

User.hasMany(Money, {foreignKey: "followingId"}); 
    const result = await dbs.User.findAll({include: [{modedbs.Money}]}); 
    console.log(JSON.stringify(result)); 

は、これが私の結果である:enter image description here

+0

これは私の質問に答えていません。私は、ユーザーをモデルという名前のリレーションシップに関連づけようとしており、そのユーザーに続くアクティブな関係とそのユーザーに続く他のユーザーである受動的な関係を持っています。 –

+0

@TravisDellyすみません! – MWY

+0

ところで、私はまだあなたが使うべきではないと思う! – MWY