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

时间:2011-06-20 08:35:41

标签: php cakephp mongodb cakephp-2.0

我的MongoDB数据源位于 plugins / mongodb

根据the new class loader in 2.0,我应该这样做:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');

但我该如何发起呢?

或者最好使用ConnectionManager吗?如果是这样,我该如何导入它?

2 个答案:

答案 0 :(得分:7)

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

# /path/to/your/datasource
class MongoDbDatasource {...} //check how this class is named!

在您加载文件的文件中,您可以执行以下操作:

App::uses('MongodbSource', 'Mongodb.Model/Datasource');
$mongodb = new MongoDbDatasource();

但如上所述,databsae配置将是更好的方式:

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

现在您只需向CakePlugin::load('Mongodb');添加bootstrap.php即可加载插件。

答案 1 :(得分:1)

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

class DATABASE_CONFIG {

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

}