Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour.
Je débute avec ZF et j'ai un soucis pour accéder à ma base de données.
Dans mon bootstrap j'ai ceci :
try { $db = Zend_Db::factory($config->database); $db->getConnection(); Zend_Db_Table::setDefaultAdapter($db); } catch (Zend_Db_Adapter_Exception $e) { $log->log($e, Zend_Log::EMERG); } catch (Zend_Exception $e) { $log->log($e, Zend_Log::EMERG); }
La connexion semble bien s'effectuer car aucun log n'est enregistré. Si j'indique un paramètre incorrect de BDD, un log est enregistré.
Dans la classe de models/Direct.php j'ai ceci :
<?php class Direct extends Zend_Db_Table_Abstract { protected $_name = 'direct'; protected $_primary = 'id'; }
Dans mon controller j'ai ceci :
public function indexAction() { new Direct(); }
Quand j'ouvre la page dans mon navigateur j'ai l'erreur suivante :
Une erreur est survenue Application error Information relative � l'exception: Message: No adapter found for Direct Trace d'ex�cution: #0 /home/directve/sd/dev-demo/www/library/Zend/Db/Table/Abstract.php(739): Zend_Db_Table_Abstract->_setupDatabaseAdapter() #1 /home/directve/sd/dev-demo/www/library/Zend/Db/Table/Abstract.php(268): Zend_Db_Table_Abstract->_setup() #2 /home/directve/sd/dev-demo/www/application/controllers/IndexController.php(17): Zend_Db_Table_Abstract->__construct() #3 /home/directve/sd/dev-demo/www/library/Zend/Controller/Action.php(513): IndexController->indexAction() #4 /home/directve/sd/dev-demo/www/library/Zend/Controller/Dispatcher/Standard.php(289): Zend_Controller_Action->dispatch('indexAction') #5 /home/directve/sd/dev-demo/www/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #6 /home/directve/sd/dev-demo/www/library/Zend/Controller/Front.php(212): Zend_Controller_Front->dispatch() #7 /home/directve/sd/dev-demo/www/application/bootstrap.php(32): Zend_Controller_Front::run('/home/directve/...') #8 /home/directve/sd/dev-demo/www/public/index.php(2): require('/home/directve/...') #9 {main} Param�tres de la requ�te: array(3) { ["controller"]=> string(5) "index" ["action"]=> string(5) "index" ["module"]=> string(7) "default" }
Savez-vous d'où provient l'erreur ?
J'ai regardé plusieurs exemples de codes sur Internet sans succès.
Merci d'avance pour vos retours.
Hors ligne
salut,
SI ta classe directe se trouve sous "application/models"
il faut faire je pense new Model_Direct();
SI ta classe directe se trouve sous "application/models/unModule"
il faut faire je pense new unModule_Model_Direct();
En espérant t'avoir aidé
Dernière modification par GueloSuperStar (24-08-2009 08:52:14)
Hors ligne