2017-02-14 9 views
0

私はSequelizeで関係をクエリする方法を理解しようとしています。私がUserModelIssueModelを持っていて、お互いにbelongsToManyという関係があるとします。あなたがする必要があるbelongsToMany関係の中でクエリを続ける

+0

次[ 'countAssociations'](http://docs.sequelizejs.com/en/latest/api/associations/belongs-to-many/#countassociationsoptions-promiseintを行います)の 'belongsToMany'関係のメソッドです。そのような場合は、 'user.countIssues()'となるでしょう。 – piotrbienias

+0

これは近いですが、別のクエリが必要です。世界の終わりではありませんが、複数の問題を抱えている場合はうまく拡張できません。 –

答えて

0

計算メンバーのこの種の

SELECT 
    ..., 
    (
     EXISTS(
      SELECT 1 
      FROM user_issues 
      WHERE user_issues.user_id = <some_id> 
       AND user_issues.issue_id = issue.id 
     ) 
    ) AS isSubscribed 

私は関係についてのドキュメントで見つけることができました唯一のものはincludeオプションですが、何も:私は、この効果に問い合わせをしたいです私は今のところ考えることができるすべてがある

User.findAll({ 
    attributes: ['User.*', 'Issue.*', [sequelize.fn('COUNT', sequelize.col('Issue.id')), 'PostCount']], 
    include: [Issue] 
} 
+0

これは後方のものです。私が探しているのは、特定のユーザーがマップされているかどうかを判断するブール値であり、ユーザーに割り当てられた問題の数ではありません。 –

関連する問題