2013-02-20 45 views
2

我有幾個下面列出的查找表。根據我的理解,我們需要每個數據庫表的模型,但這是否也適用於查找/映射表?創建模型時使用的最佳做法是什麼?下面是我的查找表的樣本...應該在Zend Framework中爲查找表創建模型嗎?

Transaction  Customer  Transaction_Lookup  
id    Id   transection_id 
date   name   customer_id 
active   active 

我創建了相應的交易和客戶的錶款,我需要創造一個Transaction_Lookup相應的模型呢?

而且我使用的數據映射模式,這意味着我也必須爲每一個模型映射類...

感謝您的幫助提前....

回答

1

一個句話我會make就不會將模型看作與表格相對應的一對一模型。這在您的OOP設計中可能非常有限。這就是說,你的模型經常會對齊到一張表。在這種情況下,查找表是一個明顯的場景。

至於需要每個查找表的具體模型...我會考慮編寫一個通用模型,可以用於所有對應於'查找'表的對象。然後,您可以使用該泛型類,或者將其作爲一個抽象進行編寫,並對其進行擴展並創建具名的具體類。所需的唯一代碼量可能非常有限,可以利用您已經掌握的父類。如果您想查找表格摘要,您可以摘要字段密鑰(id),,友好名稱,活動?並將表上的相應字段映射到這些通用屬性。真的有很多方法可以解決這個問題,希望我解釋得很好。

我通常會編寫兩種類型的映射器,一種基本上像Zend_Db_Table這樣的錶行網關,另一種是更加自定義的映射器,我可能使用存儲過程或複雜的Zend_Db_selects連接多個表。使用表格行網關樣式映射器我通常只需要指定映射器要使用的表名稱,適配器和映射對象。在自定義映射器上,我通常需要逐個寫入更多的實現代碼。

我喜歡這種使用Data Mapper的方法。既方便又強大。

+0

謝謝...這很有道理...... – 2013-02-20 17:59:09

+0

很酷。我發現這對於ZF特定的這些主題中的一些有用鏈接。 http://survivethedeepend.com/zendframeworkbook/en/1.0 – ficuscr 2013-02-20 18:00:36

+0

謝謝你會通過它...欣賞你的幫助... – 2013-02-20 18:10:53

相關問題