我在想是否有人能帮我做这个。
我的问题是关于rails中的order方法。我的目标是根据weekprice(从最小的值/价格开始)订购DB表,然后查询那些第一条记录以计算最终价格。由于某种原因,order方法不起作用,因为它不给我Hotel.first.weekprice,而是根据执行的订单(最小价格优先),它仍然使用主键,只给我表中weekprice的第一个条目。
<% if Hotel.minimum(:weekprice) > Hotel.minimum(:weekendprice) %>
<% Hotel.order(weekprice: :asc) %>
<%= Hotel.first.weekprice + Hotel.first.weekendprice %>
<% end %>
谢谢你的帮助。
最佳答案
Hotel.order(weekprice: :asc)
不会对表进行排序,而是对该查询进行排序,我认为您需要的是:
Hotel.order(weekprice: :asc).first
因为这将为您提供weekprice订购的酒店的第一个,否则您将再次调用类上的方法,而该方法没有更改或被订购。