我在想是否有人能帮我做这个。
我的问题是关于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订购的酒店的第一个,否则您将再次调用类上的方法,而该方法没有更改或被订购。

10-05 23:42