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