gpt4 book ai didi

php - ORM 的 Kohana 数据库配置设置

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:49 26 4
gpt4 key购买 nike

如何选择我的 ORM 应使用的数据库配置?该文档仅提及如何设置配置并在使用纯数据库方法时选择它。使用 ORM 时不是。

这是我当前的配置:

控制者

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Welcome extends Controller {

public function action_index()
{
$members = ORM::factory('user');
$members->where('first_name', '=', 'Peter')->find_all();
$memCount = $members->count_all();
$this->response->body('Count: ' . $memCount);
}

} // End Welcome

型号

<?php defined('SYSPATH') or die('No direct access allowed.');

class Model_User extends ORM
{
protected $_primary_key = 'UserId';
}

配置(位于application/config/database.php

<?php defined('SYSPATH') or die('No direct access allowed.');

return array
(
'local' => array
(
'type' => 'mysql',
'connection' => array(
'hostname' => 'localhost',
'database' => 'dbname',
'username' => 'username',
'password' => '*******',
'persistent' => FALSE,
),
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'profiling' => TRUE,
),
'remote' => array(
'type' => 'pdo',
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=kohana',
'username' => 'root',
'password' => '***',
'persistent' => FALSE,
),
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'profiling' => TRUE,
),
);

我只想让 ORM 使用 local 数据库。我该怎么做呢?现在我收到错误:Database_Exception [2]: mysql_connect(): Access denied for user 'www-data'@'localhost' (using password: NO)

最佳答案

如 Kowser 所说,对于要使用“本地”数据库组返回连接的 Database::instance(),请使用 Database::$default = 'local';

如果你想让一个类使用一个不是Database::$default的特定数据库组。然后在您的类定义中将 $_db_group 设置为数据库配置组,如下所示:

<?php defined('SYSPATH') or die('No direct access allowed.');

class Model_User extends ORM
{
protected $_db_group = 'local';
protected $_primary_key = 'UserId';
}

通过这种方式,您可以将 Database::$default 设置为“远程”,并且只有该类的对象才会使用“本地”连接。

关于php - ORM 的 Kohana 数据库配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8298934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com