任何人都知道如何用AR编写该查询?
select *, (m.user_id=1) as member from band b join memberships m on m.band_id = g.id;
提前致谢。
答案 0 :(得分:7)
这里的假设是你有一些看起来像这样的东西:
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
在这种情况下,您可以轻松执行此查询。
user = User.find(1)
user.bands
然而,你的问题很模糊,所以如果这不是你想要的,请考虑扩展你的问题以及更多细节。您还在您的问题中引用了一个从未定义的别名“g”。
答案 1 :(得分:0)
我不明白你为什么要通过SQL查询设置布尔属性。你可以用好的'Ruby'来做到这一点,这也可以让你使用jdl说的很多。
class Book
def member?
user_id == 1
end
end