2013-08-31 50 views

回答

0

User.first返回按主鍵排序的第一個用戶(請參閱Active Record Query Guide的第1.1.3節)。

大多數情況下它將首先創建項目,但不能保證。取決於數據庫如何填充。所以你應該使用:

Client.order('created_at').first 
0

首先返回查詢中的第一個對象。在您的示例中,呼叫User.first返回User.all數據集中的第一條記錄。雖然這將默認爲主鍵順序的第一條記錄,但如果您已經在查詢中放置了任何訂單條件(包括模型上的默認範圍),它將根據給定的順序返回第一個對象。

例如User.all.order("last_name").first將返回第一個按字母順序排列的姓氏的記錄。或者User.all.order("updated_at DESC").first將返回最近更新的用戶。

如果您尚未在您的查詢中設置任何排序範圍,則排序將默認爲創建記錄的順序,而不需要其他排序。有關這些功能的更多信息,請查看此rails guides entry on Active Record Query Interface