【问题标题】:How do I use datasources in CakePHP 2?如何在 CakePHP 2 中使用数据源?
【发布时间】:2011-06-20 08:35:41
【问题描述】:

我的 MongoDB 数据源位于 plugins/mongodb

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

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

但是我该如何启动呢?

或者使用 ConnectionManager 是最佳实践吗?如果是,如何导入?

【问题讨论】:

    标签: php cakephp mongodb cakephp-2.0


    【解决方案1】:

    如果您想使用自己的方式并“手动”加载此数据源,而不是像 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 即可加载您的插件。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 对不起,那么你需要告诉你的模型使用哪个数据库配置。在 1.3 中添加“public $useDbConfig = 'mongodb';”例如。
      猜你喜欢
      • 2014-05-15
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多