我有一个测试结果数据库,其中包含以下三个表格:
testresults - id,buildid,osid,pass,fail
build - id,build
os - id,os
我使用随Coldfusion构建器附带的Adobe CFC生成器生成了CFC。现在我有每个表和CRUD方法的值对象。我正在尝试检索特定构建和操作系统的所有测试结果记录。由于我想显示构建和操作系统信息,我需要构建和操作系统表中的信息。是否有面向对象的方法来获取这些结果而无需使用连接或创建视图编写查询?
答案 0 :(得分:2)
Vikas的回答值得研究 - CF 9 ORM将为您完成大部分工作,但是需要查询所有三个表并且可能进行连接。我没有使用CF Builder,所以我不知道这些对象是什么样的,但我怀疑他们会直接进入ORM:
http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSD628ADC4-A5F7-4079-99E0-FD725BE9B4BD.html
“OO方法”仍然需要以某种方式加入数据 - 你如何做到这一点取决于你。重要的是,Object是您想要的数据的容器,它不关心它如何获取数据或它来自何处。
在较高的层面上,OO方法是将对象模型与数据库分离。您可能需要一个包含所需数据和方法的TestResults对象。 (例如getTestResultsByBuild(build),getTestResultsByOS(os)等)您最终可能会得到一个对象来处理SQL查询并将数据传递给TestResults对象(可能包含在TestResults中)。这将是您的数据访问对象(DAO),它抽象并封装数据库访问功能。
答案 1 :(得分:0)
我不知道您是否听说过ORM(对象关系映射),如果您使用的是ColdFusion 9,那么您只需查看它。