Как использовать источники данных в CakePHP 2?

Мой источник данных MongoDB находится в plugins/mongodb.

Согласно новому загрузчику классов в 2.0, я должен сделать следующее:

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

Но как мне его инициировать?

Или лучше всего использовать ConnectionManager? Если да, то как мне его импортировать?


person webjay    schedule 20.06.2011    source источник


Ответы (2)


Если вы ХОТИТЕ использовать свой способ и загружать этот источник данных «вручную», а не так, как сказал Мэтт, вы должны инициировать его следующим образом:

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

В вашем файле, где вы его загружаете, вы можете сделать это:

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

Но, как уже говорилось, конфигурация базы данных была бы лучшим способом:

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

Теперь вам просто нужно добавить CakePlugin::load('Mongodb'); к bootstrap.php, чтобы ваш плагин загрузился.

person Tim    schedule 22.06.2011

Вам нужно сообщить конфигурации базы данных, какой источник данных использовать:

class DATABASE_CONFIG {

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

}
person 93196.93    schedule 20.06.2011
comment
Извините, тогда вам нужно указать вашей модели, какую конфигурацию базы данных использовать. в 1.3 вы добавляете public $useDbConfig = 'mongodb'; Например. - person 93196.93; 20.06.2011