【发布时间】:2011-05-27 10:12:16
【问题描述】:
我只是 Kohana ORM 的新手,所以我的问题对于专业人士来说可能有点傻,但是.. :)
我有一些 ORM 模型,它们都有一些相同的方法,例如:
public function items_order_by_id($reverse = false)
{
if($reverse) return $this->order_by($this->_primary_key, 'desc')->find_all();
else return $this->order_by($this->_primary_key, 'asc')->find_all();
}
或
public function get_form()
{
$result = array();
foreach($this->_table_columns as $key => $value)
{
if($value['form']) $result[$key] = $this->_prefix.'_'.$key;
}
return $result;
}
如果我要添加一个新模型,我必须复制所有类似的方法,如果我想修改任何方法,我必须修改所有文件。我知道对象编程具有继承性,但是当我尝试扩展 Kohana_ORM 时出现异常,例如:
comment_id 属性在 Model_Comment 类中不存在
所有其他属性也不存在。
是否有可能拥有一个包含这些方法的父模型?
【问题讨论】:
标签: php orm object model kohana