使用zend实现数据映射器模式



我正在我的zend框架1.12项目中实现数据映射器,它的工作正常。现在,为了进一步增强它,我想以以下方式优化它。

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

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

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

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

我通常不会走这条路。当有意义的时候,我会在模型上延迟加载某些字段,但我不允许像这样加载对象的部分,相反,当加载整个对象过于资源密集时,我会创建一个备用对象来渲染列表。一个通用的伪列表对象,我只是将它与表格数据一起使用。它是从SQL或存储过程结果集填充的,通常使用我的通用表映射器。

最新更新