想象一下Active Record是如何處理SQL的,我們來看看find方法的:conditions參數,調用的時候像這樣:find(:all,:
現在我們知道如何指定條件,現在我們來看看find方法支持的一些其他設置。首先,理解find(:first,…)方法是非常重要的,該方
數據庫上最常運行的查詢莫過於根據指定條件返回符合的結果集,查詢可能是返回所有名字為‘dave’的訂單,或者是某個博客上所有
Active Record提供了兩個方法來獲取符合條件的記錄的條數:count()和count_by_sql()。例如:c1 = Order.co
前面了解了檢索的方法,這次來看看Active Record怎樣更新數據庫中的記錄。如果你有一個Active Record對象(或許對應於order
在學習Rails中的並發處理的處理前,我們先簡單了解下並發處理的概念。在有多個處理同時訪問同一個數據庫的應用程序中,可能會出現這樣的情況,因為一個
Active Record提供了兩種方式進行刪除操作。首先,有兩個類級別的方法,delete和delete_all,這兩個操作處在數據庫層面上,d
很多程序使用的數據庫都包含有多個表,而且通常一些表之間還有關聯關系,訂單常含有多個條目,而一個條目又關聯到一種商品,一個商品可能又屬於多個商品分類
Rails支持三種表間關聯關系,一對一,一對多,多對多,你需要在Model中加入聲明來標識這些關聯:has_one,has_many,belong
一對一關聯,或者更正確的說是一對零或一對一關聯,是通過外鍵引用到另外一張表中的至多一條記錄實現的,下圖描述了orders表和invoices表的關
一對多關聯可以使我們表示一組對象,例如,一個order可以包含有任意多個line item,在數據庫中,所有的line item記錄都通過外鍵關聯
在Rails中多對多關聯通過在關聯表對應的類中聲明has_and_belongs_to_many來實現。在數據庫中,多對多關聯使用中間表來實現,表
或許存在這樣的情況,在一個表中,一條記錄關聯到表中的另一條記錄,例如,公司中的每個雇員都有上級和下級,而他們同時又是雇員,在Rails中你可以這樣
預加載子記錄討論的問題和“延遲加載”是相同的。通常Active Record會推遲從數據庫中加載子記錄,直到你需要他們,例