3

如果从 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 使用非默认数据库组中设置的信息进行连接和查询。

4

1 回答 1

6

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

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

$this->execute('group');

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

于 2011-06-07T17:40:39.537 回答