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

Ala*_*orm 3 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);
}
Run Code Online (Sandbox Code Playgroud)

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,
Run Code Online (Sandbox Code Playgroud)

但是,此配置数组接受多个顶级项(我认为称为db-groups).我怎么能/应该告诉Kohona 3.1使用在非默认 db-group中设置的信息进行连接和查询.

The*_*per 6

您可以将数据库组作为参数传递 execute

查看源代码:类/ kohana/database/query.phpDatabase :: instance()的第201行

$this->execute('group');
Run Code Online (Sandbox Code Playgroud)

您也可以编写一个以.开头的查询 $query = Database::instance('group')