Active Record提供了兩個方法來獲取符合條件的記錄的條數:count()和count_by_sql()。例如:
c1 = Order.count c2 = Order.count(["name = ?", "Dave Thomas"]) c3 = LineItem.count_by_sql("select count(*) " + " from line_items, orders " + " where line_items.order_id = orders.id " + " and orders.name = 'Dave Thomas' ") puts "Dave has #{c3} line items in #{c2} orders (#{c1} orders in all)"
在一個程序中,數據庫有可能被多個進程或多個程序訪問,隨時都有可能獲取最新的Model對象,這些對象有可能剛剛被編輯過。
從某種程度上講,這主要應用在事務中,不管怎麼說,當你需要手動刷新Model對象時,Active Record可以幫助你,只需調用reload()方法,Model對象屬性的值就會被數據庫中的值更新。
stock = Market.find_by_ticker("RUBY") loop do puts "Price = #{stock.price}" sleep 60 stock.reload end