无法在Zend Framework中实例化Zend_Table

时间:2010-08-19 15:11:57

标签: sql oracle zend-framework

我正在使用Zend Framework 1.7.8版。

我正在尝试创建一个从Zend_Db_Table_Abstract扩展的类:

class My_Model_Table extends Zend_Db_Table_Abstract {    
    public function __construct($tableName) {
        parent::__construct(array('name' => $tableName, 'primary' => 'dummy', 'db' => Zend_Registry::get('dbAdapter')));
    }
}

但是,当我尝试从此表中获取时:

$table = new My_Model_Table('dual');
Zend_Debug::dump($table->fetchAll());

我得到了这个例外:

Primary key column(s) (dummy) are not columns in this table (DUMMY) 

对于那些不熟悉Oracle的人来说,DUAL表是一个标准的Oracle表,它只有一列:DUMMY。从我在错误消息中看到的内容,ZF正试图从不存在的“DUMMY”表中获取。我对吗?我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

你试过了吗?

Class VCCE_Model_Table extends Zend_Db_Table_Abstract {
   protected $_name = 'DUAL';
 }

$table = new VCCE_Model_Table();
Zend_Debug::dump($table->fetchAll());

注意:在您的示例中,您为表VCCE_Model_Table和My_Model_Table使用两个不同的名称。

答案 1 :(得分:0)

您是否检查了 dbAdapter 的配置设置?