0
を通じて私は、Active Recordのモデルのセットを持って、このようなセットアップ:、どのように私は2つにhas_manyの間でマージされた関係を作成することができます。関係
Account
has_many :account_groups
has_many :groups, :through => :account_groups
Posts
has_many :post_groups
has_many :groups, :through => :post_groups
これは、セキュリティの設定であり、私はする必要があります
@account.posts
そして、そのグループに属しているポストのフィルタクエリを取得する:ので、私は言っできるようにしたいと思います....アカウントへのアクセス権を持つグループに属している記事を照会することができアカウントにアクセスできるグループが重複していますが、正しい構文を理解できないようです。
ヘルプ。明確にするために
、私が発生しているよSQLは次のようになります。それはあまりにも、名前の範囲または関係だけではなく、ファインダーSQLのことのように私は本当にいただきたい
SELECT DISTINCT posts.* FROM accounts
JOIN account_groups ON account_groups.account_id = accounts.id
JOIN groups ON groups.id = account_groups.group_id
JOIN post_groups ON post_groups.group_id = groups.id
JOIN posts ON posts.id = post_groups.post_id
WHERE accounts.id = 2
。