2010-10-01 186 views
0

我有具有以下三個表與人相處的測試結果數據庫檢索從兩個相關表中的數據:面向對象的方法使用ColdFusion

testresults - ID,buildid,OSID,及格,不及格
建設 - id,build
os-id,os

我使用Adobe CFC生成器與Coldfusion Builder一起生成CFC。現在我有每個表和CRUD方法的值對象。我正在嘗試檢索特定版本和操作系統的所有測試結果記錄。因爲我想顯示構建和操作系統信息,所以我需要構建和操作系統表的信息。有沒有一種面向對象的方法來獲取這些結果,而無需用連接編寫查詢或創建視圖?

回答

2

維卡斯答案是值得探討 - 在CF 9 ORM會做很多的工作適合你,但引擎蓋下這將需要查詢所有三個表,並有可能做連接。我沒有使用CF生成器,所以我不知道這些對象的樣子,但我懷疑他們會卡對進入ORM:

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSD628ADC4-A5F7-4079-99E0-FD725BE9B4BD.html

的「面向對象方法」仍然需要以某種方式加入數據 - 你如何做到這一點取決於你。重要的是對象是你想要的數據的容器,它不關心它如何獲取數據或來自哪裏。

在較高層面上,面向對象的方法是將您的對象模型與數據庫分離。你可能需要一個包含你想要的數據和方法的TestResults對象。 (例如,getTestResultsByBuild(build),getTestResultsByOS(os)等)。最後還可能有一個對象來處理SQL查詢並將數據傳遞給TestResults對象(可能組成TestResults)。這將是您的數據訪問對象(DAO),它會抽象並封裝數據庫訪問功能。

+0

謝謝安東尼。我會嘗試使用ORM。 我目前有方法通過構建和OS和DAO對象來獲取TestResults。爲TestResults生成的CFC具有構建Id和操作系統標識。我想知道是否應該維護這些屬性並添加額外的構建和操作系統對象屬性,以便可以訪問構建和操作系統對象詳細信息或替換構建標識和操作系統標識屬性。 – arjunurs 2010-10-02 19:30:32

0

我不知道你是否聽說過ORM(對象關係映射),如果你使用的是ColdFusion 9,那麼你只需檢查它。

ColdFusion ORM

+0

謝謝Vikas。我會結帳CF ORM – arjunurs 2010-10-02 19:21:40