Как я могу использовать альтернативное соединение с БД в Kohana 3.1
Если запустить следующий бит кода из контроллера Kohana 3.1
$query = DB::select("select * from foo");
$results = $query->execute();
foreach($results as $result)
{
var_dump($result);
}
Kohana попытается подключиться к базе данных, используя информацию из массива, возвращенного application/config/database.php
, В частности, если будет использовать информацию, установленную в группе по умолчанию.
return array
(
'default' => array
(
'type' => 'mysql',
'connection' => array(
/**
* The following options are available for MySQL:
*
* string hostname server hostname, or socket
* string database database name
* string username database username
* string password database password
* boolean persistent use persistent connections?
*
* Ports and sockets may be appended to the hostname.
*/
'hostname' => 'localhost',
'database' => 'kohana',
'username' => FALSE,
'password' => FALSE,
'persistent' => FALSE,
Однако этот массив конфигурации принимает несколько элементов верхнего уровня (я думаю, что они называются db-groups). Как я могу / должен сказать Kohona 3.1 установить соединение и сделать запрос, используя информацию, которая установлена в db-группе не по умолчанию.
1 ответ
Вы можете передать группу базы данных в качестве аргумента execute
Проверьте исходный код: строка 201 классов / kohana / database / query.php и Database::instance()
$this->execute('group');
Вы также можете написать запрос, начинающийся с $query = Database::instance('group')