Linked Questions

Popular Questions

I am trying to order by the count of the associated model, and have been getting the following error from Sequelize

Cannot read property '_modelAttribute' of undefined

I have following code:

db.user.belongsToMany(db.user, {
  as: "User",
  through: "UserFollowers",
  foreignKey: "user_id"
});
db.user.belongsToMany(db.user, {
  as: "Follower",
  through: "UserFollowers",
  foreignKey: "follower_id"
});

and

   User.findAll({
          attributes:["username",db.sequelize.literal('(SELECT COUNT(*) FROM "public"."Users","public"."UserFollowers" WHERE "Users".user_id = "UserFollowers".user_id GROUP BY "Users".user_id)'),'followercount'],
          include:[{model:User,as:'Follower'}],
          order:[{ model: User, as: 'Follower' }[db.sequelize.literal('followercount')],'DESC']
      }).then(users => {
          res.json(users)
      })

I appreciate any help!

Related Questions