netstu
netstu

Reputation: 73

doc has error? not sure

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

Setting multiple databases¶

In Phalcon, all models can belong to the same database connection or have an individual one. Actually, when Phalcon\Mvc\Collection needs to connect to the database it requests the “mongo” service in the application’s services container. You can overwrite this service setting it in the initialize method:

<?php

//This service returns a mongo database at 192.168.1.100
$di->set('mongo1', function() {
 $mongo = new Mongo("mongodb://scott:[email protected]");
 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");
});

Then, in the Initialize method, we define the connection service for the model:

<?php

class Robots extends \Phalcon\Mvc\Collection
{

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

}

Upvotes: 0

Views: 170

Answers (1)

Nikolaos Dimopoulos
Nikolaos Dimopoulos

Reputation: 11485

You are correct. The documentation was wrong. The correct usage is to set the appropriate service name (not the collection) using the 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:[email protected]");
        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");
    }
);

Then, in the Initialize method, we define the connection service for the model:

.. code-block:: php

<?php

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

}

Upvotes: 0

Related Questions