Использование нескольких баз данных с DooPHP - PullRequest
0 голосов
/ 17 июня 2011

Я проверяю DooPHP и не могу найти, как использовать несколько соединений с базой данных одновременно. Я просто хочу иметь несколько объектов базы данных и использовать их методы для запроса к БД. Сейчас я занимаюсь этим:

Doo::db()->setDb($dbconfig, $config['APP_MODE']);
Doo::db()->query('.......');

и снова setDb, когда я хочу использовать другую БД. Это отсталый, хотя. Очень трудно найти то, что вы ищете, в документации API.

Любая помощь здесь?

1 Ответ

0 голосов
/ 18 июня 2011

Решением было сделать это в index.php:

Doo::loadCore('db/DooSqlMagic');
$db = new DooSqlMagic;
$db->setDb($dbconfig, 'db'.$config['APP_MODE']);
$db->connect();

$db2 = new DooSqlMagic;
$db2->setDb($dbconfig, 'db2'.$config['APP_MODE']);
$db2->connect();

Это в db.conf.php:

$dbconfig['dbdev'] = array('localhost', 'db', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
$dbconfig['dbprod'] = array('localhost', 'db', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');

$dbconfig['db2dev'] = array('localhost', 'db2', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');
$dbconfig['db2prod'] = array('localhost', 'db2', 'root', '', 'mysql', true, 'collate'=>'utf8_unicode_ci', 'charset'=>'utf8');

И использовать это так в контроллере:

global $db;
global $db2;
$db->query('.......');
$db2->query('......');
...