如何在CakePHP 2中使用数据源?

如何在CakePHP 2中使用数据源?,php,cakephp,mongodb,cakephp-2.0,Php,Cakephp,Mongodb,Cakephp 2.0,我的MongoDB数据源位于plugins/MongoDB中 根据我的观点,我应该这样做: App::uses('MongodbSource', 'Mongodb.Model/Datasource'); 但我该如何开始呢 还是使用ConnectionManager是最佳实践?如果是,如何导入它?您需要告诉您的数据库配置要使用哪个数据源: class DATABASE_CONFIG { public $default = array( 'datasource' => 'Datab

我的MongoDB数据源位于plugins/MongoDB中

根据我的观点,我应该这样做:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');
但我该如何开始呢


还是使用ConnectionManager是最佳实践?如果是,如何导入它?

您需要告诉您的数据库配置要使用哪个数据源:

class DATABASE_CONFIG {

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'user',
    'password' => 'password',
    'database' => 'database_name',
    'prefix' => '',
);

}

如果您想使用自己的方式“手动”加载此数据源,而不是像Matt所说的那样,您可以这样启动它:

# /path/to/your/datasource
class MongoDbDatasource {...} //check how this class is named!
在加载文件的文件中,可以执行以下操作:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');
$mongodb = new MongoDbDatasource();
但如前所述,DatabaseSAE配置将是更好的方式:

public $default = array(
    'datasource' => 'Mongodb.MongodbSource',
    'database' => 'mydbname',
    'host' => 'yourhost',
    'port' => 'yourport',
    'login' => 'yourlogin',
    'password' => 'yourpassword'
);

现在您只需要添加
CakePlugin::load('Mongodb')
到您的
bootstrap.php
以便加载插件。

抱歉,然后您需要告诉您的模型要使用哪个数据库配置。例如,在1.3中添加“public$useDbConfig='mongodb';”。