我对Kohana 3.3存在问题,并使用不同的数据库配置。 我有一个config / database.php,其中包含'默认'配置和其他'像这样:
return array
(
'default' => array
(
'type' => 'MySQL',
'connection' => array(
'hostname' => 'localhost',
'database' => 'database-one',
'username' => 'root',
'password' => 'password',
'persistent' => FALSE,
),
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
),
'other' => array
(
'type' => 'MySQL',
'connection' => array(
'hostname' => 'localhost',
'database' => 'database-two',
'username' => 'root',
'password' => 'password',
'persistent' => FALSE,
),
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
));
但在尝试使用时在控制器或模型中:
Database::instance('other');
Kohana仍将使用'默认'组态。我做错了什么?
谢谢!
答案 0 :(得分:1)
如果您想通过kohana更改当前使用的连接,请尝试:
Database::$default = 'other';
从这一行开始,您的代码将使用“其他”连接,直到您将使用相同的方式将其再次切换为“默认”。
在以简单方式执行查询时,您还可以使用一次其他数据库配置:
DB::...->execute('other');
或者如果您之前存储数据库实例:
$other = Database::instance('other');
DB::...->execute($other);
通过...我的意思是你的查询。
答案 1 :(得分:0)
您需要将连接存储在变量中,否则将使用default
连接。