在我的模型中,我擴展了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