テーブルがitems
ありcards
、カードが に属しておりuser
、item
特定のユーザーのカードがある場合とない場合があります。
基本的な関連付けは次のように設定されます。
Class User
has_many :cards
Class Item
has_many :cards
Class Card
belongs_to :user
has_and_belongs_to_many :items
items_cards
また、列item_id
とを含む結合テーブルも作成しましたcard_id
。特定のユーザー/アイテムのカードがあるかどうかを示すクエリを作成したいと思います。純粋な SQL では、これを非常に簡単に実現できます。
SELECT count(id)
FROM cards
JOIN items_cards
ON items_cards.card_id = cards.id
WHERE cards.user_id = ?
AND items_cards.item_id = ?
ActiveRecord を介してこれを行う方法についてのガイダンスを探しています。ありがとう!