2009-09-07 6 views

Répondre

7

L'hypothèse ici est que vous avez quelque chose qui ressemble à ceci:

class Band < ActiveRecord::Base 
    has_many :memberships 
    has_many :users, :through => :memberships 
end 

class User < ActiveRecord::Base 
    has_many :memberships 
    has_many :bands, :through => :memberships 
end 

class Membership < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :band 
end 

Dans ce cas, vous pouvez effectuer cette requête facilement. Votre question est assez vague, cependant, si ce n'est pas ce que vous cherchez, veuillez envisager d'élargir votre question avec plus de détails. Vous faites également référence à un alias "g" dans votre question qui n'est jamais défini.

+0

S'il vous plaît lire ma question mieux, bien sûr, je sais comment has_many à travers. Ce que j'essaie de faire, c'est que ma requête renvoie un champ booléen personnalisé "(memberships.user_id = 1) en tant que membre", votre réponse ne répond pas du tout à ma question. –

0

Je ne vois pas pourquoi vous voudriez définir des attributs booléens via les requêtes SQL. Vous pouvez le faire avec un bon vieux 'Ruby, qui vous permet également d'utiliser beaucoup de choses comme dit jdl.

class Book 
    def member? 
    user_id == 1 
    end 
end 
Questions connexes