3

我刚刚安装了 CakePHP 2.0.2 以便在一个新项目中使用。我正在尝试使用名为的数据库配置,development但我的模型似乎没有选择它。

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

<?php
class AppModel extends Model {

    public $useDbConfig = 'development';
}

但是,默认主页告诉我:

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',
    );
}
4

2 回答 2

15

就像 dhofstet 解释的那样,您仍然需要有一个默认配置。我所做的是向 DATABASE_CONFIG 类添加一个构造函数以在数据库配置之间切换。

像这样的东西...

public function __construct()
{
    if (DEV_SERVER) {
        $this->default = $this->development;
    } else {
        $this->default = $this->production;
    }
}
于 2011-11-03T15:28:10.017 回答
2

您的数据库配置很可能是正确的。

“Cake 无法连接到数据库”的原因。显示,是因为检查是否可以连接到数据库的脚本(/lib/Cake/View/Pages/home.ctp)仅使用default数据库连接进行此测试。由于没有这样的联系,它失败了。

于 2011-11-03T14:39:33.543 回答