使用zend的Data Mapper模式实现

时间:2013-02-26 10:02:46

标签: zend-framework datamapper

我正在我的zend框架1.12项目中实现数据映射器,并且正常工作正常。现在进一步增强它,我希望以下列方式对其进行优化。

在获取任何数据时,我想从我的模型表中的10个字段中获取任何3个字段数据? - 当前的问题是,如果我获取唯一需要的值,那么域对象类中的其他值保持空白,同时保存我保存的数据,而模型对象不是单个字段值。

任何人都可以提出有效的方法,这样我就可以获取/更新所需的值,而不需要获取所有字段数据来更新记录。

1 个答案:

答案 0 :(得分:1)

如果属性为NULL,请在制作更新时忽略它?如果NULL是有效值,那么我认为你需要跟踪每个属性的加载/脏状态。

如何在调用映射器时将要检索的字段列入白名单?如果你能坚持这些信息,我认为在制定更新时利用这些知识是有意义的。

我通常不走这条路。我会懒惰加载模型上的某些字段,但是我不允许像这样加载对象的部分,而是在创建一个替代对象时用于在加载完整对象时过于资源密集而呈现列表。我只使用表格数据的通用虚拟列表对象。它通过SQL或存储过程结果集填充,通常使用我的通用表映射器。