Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Rails帮助程序连接并排序两个数据库表_Ruby On Rails_Database_Helpers - Fatal编程技术网

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