Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-09-2009 00:07:30

h2h2
Membre
Date d'inscription: 20-09-2009
Messages: 11

Utilisation de 2 bdd

Bonjour,

Je n'ai pas trouvé d'infos suffisante sur le web et sur le forum pour me permettre de pouvoir utiliser 2 bases de donnée différentes et pouvoir "switcher" entre les deux lors de mes requêtes.

J'utilise actuellement le fichier de config pour définir ma bdd mais aucune info n'ai présente dans la doc zend pour en mettre deux et surtout pouvoir l'exécuter.

Peut on m'indiquer la marche à suivre réaliser ceci.
(des infos détaillés ou des liens m'aideraient grandement vu que je débute sur zend)

Merci !

Hors ligne

 

#2 08-10-2009 00:41:46

h2h2
Membre
Date d'inscription: 20-09-2009
Messages: 11

Re: Utilisation de 2 bdd

Je me suis inspiré de ce tutoriel http://jaybill.com/2007/09/12/using-the … databases/cependant j'ai un problème de registre
voici l'erreur:
Message: No entry is registered for key 'config'

Code:

$databases = new Zend_Config_Ini('./application/config.ini', 'production');
$dbAdapters = array();

foreach($databases->db as $config_name => $db){

 $dbAdapters[$config_name] = Zend_Db::factory($db->adapter,

                    $db->params->toArray());

 if((boolean)$db->default){

    Zend_Db::setDefaultAdapter($dbAdapters[$config_name]);

 }

}
Zend_Registry::set('config', $dbAdapters);

Code:

resources.db.site.adapter = PDO_MYSQL
resources.db.site.params.host = localhost
resources.db.site.params.username = root
resources.db.site.params.password = 
resources.db.site.params.dbname = BIDULE

resources.db.site.library.default = true
resources.db.site.order_system.adapter = PDO_MYSQL

l'appel au registre est dans cette class

Code:

 
<?php
      abstract class App_Db_Table_Abstract extends Zend_Db_Table

      {

          function App_Db_Table_Abstract($config = null){

              if(isset($this->_use_adapter)){

                  $dbAdapters = Zend_Registry::get('dbAdapters');

                  $config = ($dbAdapters[$this->_use_adapter]);

              }

              return parent::__construct($config);

       

          }

       

      }

Hors ligne

 

#3 12-10-2009 10:11:07

matdev
Membre
Date d'inscription: 31-03-2009
Messages: 172

Re: Utilisation de 2 bdd

tu trouvera des info sur ce topic
http://www.z-f.fr/forum/viewtopic.php?id=3024

Hors ligne

 

#4 12-10-2009 23:41:46

h2h2
Membre
Date d'inscription: 20-09-2009
Messages: 11

Re: Utilisation de 2 bdd

J'ai modifié le code, pour le rendre plus basique(comme dans le cas de l'autre topic que tu m'as indiqué :
même problème, message: "No entry is registered for key XXX"

Hors ligne

 

#5 13-10-2009 09:20:11

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Utilisation de 2 bdd

Dans ton premier code, du fais un Zend_Registry::set("config",$dbAdapter)
puis un $dbAdapter = Zend_Registry::get("dbAdapter"), ça devrait être un Zend_Registry::get("config") je pense...

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 14-10-2009 16:29:24

h2h2
Membre
Date d'inscription: 20-09-2009
Messages: 11

Re: Utilisation de 2 bdd

mon message d'erreur était celui ci Message: "No entry is registered for key 'config'" j'ai du copier la mauvaise version ici, mais j'ai bien modifié dbAdapter comme en témoigne le message d'erreur.

Dans le doute je vais refaire le tutoriel mais je ne pense pas que le problème soit résolu

Dernière modification par h2h2 (14-10-2009 16:29:46)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages