2010-08-19 3 views
0

Я использую Zend Framework версии 1.7.8.Невозможно создать экземпляр Zend_Table в Zend Framework

Я пытаюсь создать класс, который наследуется от 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 e, который имеет только один столбец: DUMMY. Из того, что я вижу в сообщении об ошибке, ZF пытается извлечь из таблицы «DUMMY», которая не существует. Я прав? Что я делаю не так?

Спасибо!

ответ

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.

+0

Да, извините, это был путаница. Если я пробую так, как вы написали, я получаю исключение «Нет записи для ключа« dual », брошенной Zend_Db_Table_Abstract -> _ setAdapter ('dual') – Dario

+0

Ну, как сказал Удо, вы уверены, что правильно настроили адаптер ? Мне жаль, что я неевр работал с оракулом, поэтому, возможно, я что-то пропускаю. Ths должно быть довольно простым (выборка из одной таблицы в zend_db) – Iznogood

+1

В вашем посте вы помещаете DUAL, где double - строчный. Вы пробовали с прописными буквами? – Ashley

0

Вы проверили настройки конфигурации для dbAdapter?

Смежные вопросы