2011-11-03 52 views
0

我想知道如何使用kohana orm和inheritances。kohana添加列來繼承模型

Supose我有一個名爲車載

$ _table_columns有5列

模型讓supose我創建了一個名爲租車另一種模式,我想5個列添加到模型中。我應該如何修改父級$ _table_columns變量或者是否應該覆蓋它?

感謝

回答

0

我想你正在尋找這樣的事情protected $_table_columns = parent::_table_columns + array(...);。不幸的是PHP不會允許這樣做,所以你必須要麼重寫$_table_columns並列出所有10列或覆蓋ORM reload_columns方法是這樣的:

public function reload_columns($force = FALSE) 
{ 
    $this->_table_columns = parent::_table_columns + array(...); 
    parent::reload_columns($force); 
} 
+0

嗨馬蒂諾,感謝您的答覆。你爲什麼說php不會允許用於受保護的屬性或「+」號?無論哪種方式reload_columns做什麼? – jameslimousin

+0

它會是可行的做這樣的事情http://stackoverflow.com/questions/3859155/is-there-a-way-to-override-model-properties-without-defining-them-all-again-with但與列數組? – jameslimousin

+0

reload_columns是本機ORM函數,其中正在初始化$ _table_columns。所以如果你按照我寫的方式重寫這個函數,你可以像你問的那樣初始化它。 – matino