0

http://docs.phalconphp.com/en/0.6.0/reference/odm.html

複数データベースの設定¶

Phalcon では、すべてのモデルが同じデータベース接続に属することも、個別のデータベース接続を持つこともできます。実際には、Phalcon\Mvc\Collection がデータベースに接続する必要がある場合、アプリケーションのサービス コンテナー内の「mongo」サービスを要求します。このサービス設定を初期化メソッドで上書きできます。

<?php

//This service returns a mongo database at 192.168.1.100
$di->set('mongo1', function() {
 $mongo = new Mongo("mongodb://scott:nekhen@192.168.1.100");
 return $mongo->selectDb("management");
});

//This service returns a mongo database at localhost
$di->set('mongo2', function() {
$mongo = new Mongo("mongodb://localhost");
return $mongo->selectDb("invoicing");
});

次に、Initialize メソッドで、モデルの接続サービスを定義します。

<?php

class Robots extends \Phalcon\Mvc\Collection
{

    public function initialize()
    {
        $this->setConnectionService('management'); // here? 
    }

}
4

1 に答える 1

0

あなたは正しいです。ドキュメントが間違っていました。正しい使用方法は、setConnectionService.

http://docs.phalconphp.com/en/latest/reference/odm.html

<?php

// This service returns a mongo database at 192.168.1.100
$di->set(
    'mongo1', 
    function() 
    {
        $mongo = new Mongo("mongodb://scott:nekhen@192.168.1.100");
        return $mongo->selectDb("management");
    }
);

// This service returns a mongo database at localhost
$di->set(
    'mongo2', 
    function() 
    {
        $mongo = new Mongo("mongodb://localhost");
        return $mongo->selectDb("invoicing");
    }
);

次に、Initialize メソッドで、モデルの接続サービスを定義します。

.. コードブロック:: php

<?php

class Robots extends \Phalcon\Mvc\Collection
{
    public function initialize()
    {
        $this->setConnectionService('mongo1');
    }

}
于 2012-11-05T14:38:54.687 に答える