Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Kohana模型-添加其他属性_Php_Class_Kohana - Fatal编程技术网

Php Kohana模型-添加其他属性

Php Kohana模型-添加其他属性,php,class,kohana,Php,Class,Kohana,我正在尝试向我的Kohana(v3.3)模型添加额外的属性 然后我试着设置它 $inst = ORM::factory('mymodel', 1)->find(); $inst->set_myvar(); var_dump($inst->get_myvar()); 这将返回NULL。我不明白为什么这会是个问题。有什么我遗漏的吗 谢谢扩展\u get方法 class Model_mymodel extends ORM { protected $_myvar = NULL;

我正在尝试向我的Kohana(v3.3)模型添加额外的属性

然后我试着设置它

$inst = ORM::factory('mymodel', 1)->find();
$inst->set_myvar();
var_dump($inst->get_myvar());
这将返回NULL。我不明白为什么这会是个问题。有什么我遗漏的吗


谢谢

扩展
\u get
方法

class Model_mymodel extends ORM {
   protected $_myvar = NULL;

   function __get($name) {
      if ($name === 'myvar'){
         if (!($this->_myvar instanceof Newclass){
            $this->_myvar = new Newclass;
         }
         return $this->_myvar;
      }
      return parent::__get($name);
   }
}

这样,
Newclass
就可以在它还不存在时自动实例化,同时解决两个问题。

对我来说,这段代码很有效。你确定科哈纳能找到新的班级吗?您可以尝试创建另一个类,可能是一个视图或其他什么,然后看看这是否有效。另外,由于
kohana3.3
类应该以大写字母(Mymodel)开头。在
application/bootstrap.php
Kohana::init()方法中设置
errors=>true
class Model_mymodel extends ORM {
   protected $_myvar = NULL;

   function __get($name) {
      if ($name === 'myvar'){
         if (!($this->_myvar instanceof Newclass){
            $this->_myvar = new Newclass;
         }
         return $this->_myvar;
      }
      return parent::__get($name);
   }
}