我有两张桌子:Members and Addresses
。如何在我的模型中将这两个表合并在一起,以便我可以将所有列组合在一起?例如,成员有一个名为position
的列,而地址有一个名为street
的列。我怎么能这样做,以便我可以在同一个虚拟表中有位置和地址。这有合并功能吗?
答案 0 :(得分:0)
不确定为什么需要创建单独的模型,您可以使用基本的Ruby构造:
我假设Member
有一个名为address_id
的列,该成员是belongs_to
和Address
。这将自动为您关联联接。
所以你需要做的就是这样:
class Address < ActiveRecord::Base
end
class Member < ActiveRecord::Base
belongs_to :address
end
member = Member.create(:address => Address.find(123))
如果您想获取地址和位置字段,请转到:
member = Member.find(456)
position = member.address.position
或者也许:
Member.joins(:address).select("members.position, addresses.street")
不确定您要做什么,但如果它是非常具体的,您还可以尝试在数据库中创建一个View,然后为它创建一个模型,将其视为常规表。