2013-02-26 97 views
1

我在我的zend框架1.12項目中實現數據映射器,並且按預期工作正常。現在進一步增強它,我想按以下方式優化它。使用zend實現數據映射器模式

在獲取任何數據時我想從我的模型表中的10個字段中提取任何3個字段數據的id? - 目前的問題是,如果我只提取所需的值,那麼域對象類中的其他值將保持空白,同時保存我正在保存的數據,而模型對象不是單個字段值。

任何人都可以建議這樣做的有效方式,以便我只能獲取/更新所需的值,並且不需要獲取所有字段數據來更新記錄。

回答

1

如果屬性爲NULL,在創建更新時忽略它?如果NULL是有效值,那麼我認爲你需要跟蹤每個屬性的加載/髒狀態。

如何在調用映射程序時將字段列入白名單?如果你能堅持這些信息,我認爲在制定更新時利用這些知識是有意義的。

我通常不會走這條路。我會懶惰地加載模型上的某些字段,但是我不允許像這樣加載對象的某些部分,而是在加載完整對象過於耗費資源時創建替代對象以用於呈現列表。一個通用的虛擬列表對象,我只是使用表格數據。它從SQL或存儲過程結果集中填充,通常使用我的通用表映射器。