2009-12-14 67 views
0

我有一個對象模型,其中包含一個類與幾個子類。 該子類從父級共享幾個字段,但它們每個都有其自己的字段,也都有 。學說 - 檢索子類中的字段列表獲取所有字段總計

我使用column_aggregation繼承類型來執行此操作,因爲我想要能夠多態地存儲父類 類型的對象,但檢索子類類型的對象。

到目前爲止,我可以檢索完整的子類類型的對象。 我的問題是,當我在任何一個子類上調用getColumns()時,I 將獲得聚合表的所有字段,所以我將所有子類中的每個字段看作 。

有沒有辦法只得到實際屬於 子類的字段?

回答

0

設計方式getColumns()的輸出是正確的(它僅返回聚合表的所有列)。我認爲Doctrine_Table->getColumns()不知道所討論的表具有子類。嘗試使用Doctrine_Table->getColumnDefinition()或作爲最後的手段Doctrine_Table->getColumnOwner($column)來推斷哪些列屬於哪個子類。

+0

謝謝......我結束了對我的實體模型使用不同的方法,但這是很好的知道未來。 – Sam 2009-12-23 22:20:45

+0

...很高興知道這是錯誤的!沒有辦法檢索這些信息(除了分析schema.yml)。看看你的Base(...)模型和表類。父表定義_all_列。 – fishbone 2012-07-31 11:02:17