2011-11-24 88 views
1

我正在使用Kohana3。 比如我創建實例:
$user = ORM::factory('orm_user', $user_id)
在此之後,我可以使用此語法獲得每一列的值:$user->user_login$user->user_password
我可以重命名這個屬性來獲取它們:$user->login$user->passPHP Kohana3。我可以重命名ORM對象屬性嗎?

回答

1

是的,你可以重載魔術__set和__get方法,在你的模型:

public function __get($field) 
{ 
    switch ($field) { 
     case 'login': 
      return $this->user_login; 
     case 'pass': 
      return $this->user_password; 
    } 

    return parent::__get($field); 
} 

public function __set($field, $value) 
{ 
    switch ($field) { 
     case 'login': 
      $this->user_login = $value; 
      return; 
     case 'pass': 
      $this->user_password = $value; 
      return; 
    } 

    parent::__set($field, $value); 
} 

你寫的任何規則或過濾器仍需要使用原始列名。

+0

非常感謝,這就是我一直在尋找的 – sigra

相關問題