如何在CakePHP 2.0.2中指定数据库配置?

Mar*_*ean 3 php cakephp cakephp-2.0 cakephp-model

我刚安装了CakePHP 2.0.2用于新项目.我正在尝试使用被调用的数据库配置,development但我的模型似乎没有提起它.

基于CakePHP 2的新目录和文件名约定,我在以下位置创建了以下内容/app/Model/AppModel.php:

<?php
class AppModel extends Model {

    public $useDbConfig = 'development';
}
Run Code Online (Sandbox Code Playgroud)

但是,默认主页告诉我:

Cake无法连接到数据库.

然而,如果我在更改配置的名称/app/Config/database.php,以default将信息变为一个成功的消息,就好像它不拿起我的自定义AppModel类.

我该如何解决这个问题?正如新的CakePHP 2.0文档所说的$useDbConfig那样,如上所述使用该属性?

编辑:内容/app/Config/database.php:

class DATABASE_CONFIG {

    public $development = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => '',
        'database' => 'cakephp_db',
        'prefix' => '',
        'encoding' => 'utf8',
    );
}
Run Code Online (Sandbox Code Playgroud)

小智 13

就像dhofstet所解释的那样,你仍然需要一个默认的配置.我所做的是添加一个构造函数到DATABASE_CONFIG类来切换数据库配置.

像这样......

public function __construct()
{
    if (DEV_SERVER) {
        $this->default = $this->development;
    } else {
        $this->default = $this->production;
    }
}
Run Code Online (Sandbox Code Playgroud)