如何在Kohana 3.1中使用备用数据库连接

时间:2011-06-07 16:14:53

标签: php kohana kohana-3 kohana-db

如果从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-group中设置的信息建立连接和查询。

1 个答案:

答案 0 :(得分:6)

您可以将数据库组作为execute

的参数传递

查看源代码:Line 201 of classes/kohana/database/query.phpDatabase::instance()

$this->execute('group');

您还可以编写以$query = Database::instance('group')

开头的查询