phalcon 连接多个数据库 phalcon multi-database

http://stackoverflow.com/questions/22197678/how-to-connect-multiple-database-in-phalcon-framework


//This service returns a MySQL database
$di->set('dbMaster', function() {
     return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
        "host" => "localhost",
        "username" => "",
        "password" => "",
        "dbname" => ""
    ));
});

//This service returns a PostgreSQL database
$di->set('dbSlave', function() {
     return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
        "host" => "localhost",
        "username" => "",
        "password" => "",
        "dbname" => ""
    ));
});

public function initialize()
{
    $this->setConnectionService('dbMaster');
    //or
    $this->setConnectionService('dbSlave');
}


这是给出来的案例,在实际代码环境,用的是默认生成的模板文件。


修改配置文件

    'database' => array(
        'adapter'     => 'Mysql',
        'host'        => '127.0.0.1',
        'username'    => 'root',
        'password'    => 'toor',
        'dbname'      => 'db1',
        'charset'     => 'utf8',
    ),
    'db2' => array(
        'adapter'     => 'Mysql',
        'host'        => '127.0.0.1',
        'username'    => 'root',
        'password'    => 'toor',
        'dbname'      => 'db2',
        'charset'     => 'utf8',
    ),

$di->set('db', function () use ($config) {
    return new DbAdapter($config->database->toArray());
});
$di->set('db2', function () use ($config) {
    return new DbAdapter($config->db2->toArray());

在model中使用时,

class user  extends Model
{
    public function initialize()
    {
        $this->setConnectionService('db2');
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值