Ruby on rails 使用Rails帮助程序连接并排序两个数据库表
我的数据库中有两个表:Ruby on rails 使用Rails帮助程序连接并排序两个数据库表,ruby-on-rails,database,helpers,Ruby On Rails,Database,Helpers,我的数据库中有两个表: room_type + id + adult_guess (int) room + id + name + description + hotel_id + room_type_id 现在,我想做一些类似的事情: Room.find(:all, :conditions => "hotel_id = " + @hotel_id, :order_by => "room_type.adult_guess ASC").each d
room_type
+ id
+ adult_guess (int)
room
+ id
+ name
+ description
+ hotel_id
+ room_type_id
现在,我想做一些类似的事情:
Room.find(:all, :conditions => "hotel_id = " + @hotel_id,
:order_by => "room_type.adult_guess ASC").each do |room|
end
我想按成人的数量订房间。我该怎么做?
我已经设置了房间和房间类型之间的关系,我的意思是,我可以
房间。房间类型。成人猜
(如果有帮助的话)
谢谢尝试使用
:joins
以确保包含关系
Room.find(:all, :joins => :room_types, :conditions => "hotel_id = " + @hotel_id,
:order_by => "room_type.adult_guess ASC").each do |room|
看看这是否有帮助
在此处阅读有关:include vs:join处理ActiveRecord查询的更多信息:
如果您不需要访问
房间类型
表,请使用:连接
,但如果您想显示该信息,请使用:包括
:
Room.all(:conditions => ['rooms.hotel_id = ?', @hotel_id], :joins => :room_types, :order => "room_types.adult_guest ASC").each do |room|
...
end