Issues

ZF-2392: Instantiation of model fails with "Call to a member function describeTable() on a non-object in .../Zend/Db/Table/Abstract.php on line 595"

Description

Hi,

I am currently developing under Mac OS X 10.5 with: MySQL 5.0.41 Apache 2.0.59 PHP 5.2.3

I am holding my connection details to the database in a config.xml (works) and opening a connection (it's PDO_MYSQL and was working in manual tests) via a bootstrap file.

{{ $db = Zend_Db::factory($config->database->type, $config->database->toArray()); Zend_Db_Table::setDefaultAdapter($db); }}

My model looks like this:

{{ <?php class Forum extends Zend_Db_Table { protected $_name = 'forum'; } ?> }}

My controller is like this:

{{ <?php class IndexController extends Zend_Controller_Action { public function init() { $this->view->baseUrl = $this->_request->getBaseUrl(); Zend_Loader::loadClass('Forum'); } public function indexAction() { $this->view->title = "Index"; $forum = new Forum(); $this->view->forums = $forum->fetchAll(); } } ?> }}

This results in

Fatal error: Call to a member function describeTable() on a non-object in /Applications/MAMP/htdocs/Zend/Db/Table/Abstract.php on line 595

A dump of $db in the bootstrap file:

{{ object(Zend_Db_Adapter_Pdo_Mysql)#16 (9) { ["_pdoType:protected"] => string(5) "mysql" ["_numericDataTypes:protected"] => array(16) { [0] => int(0) [1] => int(1) [2] => int(2) ["INT"] => int(0) ["INTEGER"] => int(0) ["MEDIUMINT"] => int(0) ["SMALLINT"] => int(0) ["TINYINT"] => int(0) ["BIGINT"] => int(1) ["SERIAL"] => int(1) ["DEC"] => int(2) ["DECIMAL"] => int(2) ["DOUBLE"] => int(2) ["DOUBLE PRECISION"] => int(2) ["FIXED"] => int(2) ["FLOAT"] => int(2) } ["_config:protected"] => array(7) { ["type"] => string(9) "PDO_MYSQL" ["host"] => string(9) "localhost" ["username"] => string(11) "root" ["password"] => string(10) "****" ["dbname"] => string(13) "renaissance_1" ["options"] => array(2) { ["caseFolding"] => int(0) ["autoQuoteIdentifiers"] => bool(true) } ["driver_options"] => array(0) { } } ["_fetchMode:protected"] => int(2) ["_profiler:protected"] => object(Zend_Db_Profiler)#20 (4) { ["_queryProfiles:protected"] => array(0) { } ["_enabled:protected"] => bool(false) ["_filterElapsedSecs:protected"] => NULL ["_filterTypes:protected"] => NULL } ["_defaultProfilerClass:protected"] => string(16) "Zend_Db_Profiler" ["_connection:protected"] => NULL ["_caseFolding:protected"] => int(0) ["_autoQuoteIdentifiers:protected"] => bool(true) } }}

I can reproduce this error developing under Mac OS X 10.5 and Windows XP Professional SP2 (xampplite) with both Zend Framework 1.0.3 and the SVN trunk version.

Please contact me for further information.

Comments

Duplicates ZF-2393

Joins mine as well : ZF-2244

Please refer to ZF-2393

Bookkeeping. Closing and assigning all old unassigned issues. The only unassigned issues should be new and unreviewed.