2013-03-31 82 views
0

我在製作開發票應用程序。顯而易見的模型是發票,其中包含日期,客戶ID,用戶ID等。但是,發票可以有一個或多個訂單項,這些訂單項合計爲總髮票金額。每個訂單項都有說明,費率和數量。創建另一個模型「LineItem」還是有一個簡單的方法來保存發票模型中的所有內容?謝謝!我應該如何實施發票模型?

+0

聽起來像是你上心。試試看。 – spullen

回答

0

我肯定會實現一個InvoiceItem模型。項目是程序中的一種對象,可以進行操作,所以將它們分隔到另一個表格是一種很好的做法。

class Invoice << ActiveRecord::Base 
    has_many :invoice_items 
end 

class InvoiceItem << ActiveRecord::Base 
    belongs_to :invoice 
end 

然後,只需確保InvoiceItem具有「INVOICE_ID」字段

1

爲了規範化您的數據庫表,您需要有兩個不同的表格,否則它將不適合關係數據庫的規範化規則,您可以檢查信息http://en.wikipedia.org/wiki/Database_normalization

所以,使用兩個表:Invoice和LineItem。 而且您需要將一個外鍵放入LineItem表中,引用發票表Id。