Yii2表单视图组件其他数据库

时间:2017-06-12 04:29:09

标签: php mysql postgresql model-view-controller yii2

我有一个名为BillingPayment的模块 主Yii2项目使用db1数据库,这是一个PostgreSQL用于登录和其他模块。

在BillingPayment表单中有一个Select Option,需要从其他数据库'db2'获取数据(记录),这是MySQL数据库

有没有办法在使用多个数据库连接旁边选择记录到选择选项?

1 个答案:

答案 0 :(得分:2)

您必须在某处定义连接,但您可以在最后一步中执行此操作,如:

$record = (new \yii\db\Query())
    ->select($columns)
    ->from($tableInSecondDatabase)
    ->where($conditions)
    ->one(\Yii::createObject([
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=x.x.x.x;dbname=db2',
        'username' => 'xxx',
        'password' => 'xxx',
        'charset' => 'utf8',
    ]));

现在,您可以使用$record中的数据填充下拉列表。