2012-01-05 5 views
0

Dans mon projet, chaque utilisateur possède sa propre base de données où dbname = nom d'utilisateur. Donc, je ne peux pas lister tous les DB dans mon fichier de configuration database.php.
Comment puis-je définir le nom de DB dans le contrôleur?
J'essaie avec:
$config = Kohana::config('database.default');
$config['connection']['database'] = Session::instance()->get('login');
Database::instance('custom', $config);
Database::$default = 'custom';
Kohana 3.1: Comment travailler avec de nombreuses bases de données?

Et c'est ne fonctionne pas

Répondre

0

Vous pouvez exécuter ce morceau de code:

Database::instance ($name, array (
    'type'  => '<type>', 
    'connection' => array(
     'hostname' => '<host>', 
     'username' => '<user>', 
     'password' => '<pass>', 
     'persistent' => FALSE, 
     'database' => '<db>', 
    ), 
    'table_prefix' => '', 
    'charset'  => 'utf8', 
    'caching'  => FALSE, 
    'profiling' => TRUE, 
)); 

Utilisez les mêmes paramètres que vous utilisez dans config/database.php.

Si vous n'avez pas besoin d'utiliser une base de données 'default' pour tout traitement supplémentaire, vous pouvez définir $name = 'default'; et exécuter tout comme d'habitude.

+0

mon exemple est similaire – sigra

Questions connexes