特にトリッキーな Rails 3 の結合クエリを解決しようとして大量の StackOverflow 記事を調べてきましたが、役に立たなかったので、新しい質問をします!
「ユーザー」というモデルがあり、ポリモーフィックな関連付けを介して多くの「チェック」を行います (チェックの実際の列は「target_type」と「target_id」です)。チェックには、チェックの理由を示す「タイプ」と呼ばれる文字列列があります。このようなもの:
-----------------------------------------------------
id | target_type | target_id | type |
-----------------------------------------------------
1 User 1 type_1
2 User 2 type_2
タイプが設定されたチェックが関連付けられていないすべてのユーザーを検索したいので、結合とカウントだと思います。
たとえば、「type_1」チェックを持たないすべてのユーザーを検索するクエリを作成できるようにしたいのですが、ID #2 のユーザーを返す必要があります。
どうすればこれを行うことができますか?
(私はカウントとグループ化に関するすべてのものを見てきました(たとえば、Rails has_many association count child rows)が、完全に一致するものはないようです。)
ありがとう!