在我的模型中,我扩展了Zend_Db_Table_Abstract。在里面,我有一个protected $_name = 'table_name'
。 现在,如果我定义一个构造函数和一个私有变量private $_var
并在构造函数中定义它,那么该模型不再起作用!当我拨打$this->createRow()
或任何东西时,什么也没有发生!为什么这个构造函数会这样做?!Zend模型中的构造函数
这是我有:
<?php
class myClass extends Zend_Db_Table_Abstract
{
protected $_name = 'table_name';
private $_var;
public function __construct($var)
{
$this->_var = $var;
}
public function getById($id)
{
$select = $this->select()->where('id =?',$id);
return $this->fetchRow($select);
}
}
这不起作用!如果我删除__construct()和私有变量,那么它的工作原理!为什么?
谢谢
正如我在回答说,你应该扩展Model_DbTable不模型Zend_Db_Table_Abstract ..它不会工作.. – Dinesh
@Dinesh为什么不工作?除了构造函数外,这是建立表模型的推荐方法。 – RockyFord
@RockyFord ..其实我从来没有试图直接从Zend_Db_Table_Abstract扩展我的模型类。我总是以创建Application_Model_DbTable的方式编程zend模型,并在模型中创建此类的对象..但是..我想我们可以直接在模型中扩展它,并调用父构造函数..当我发布时没有考虑它答复.. – Dinesh