发布于 5年前

在 Laravel Eloquent 中如何使用多个数据库连接

在开发时我们可能会用到多个数据库,修改配置文件 config/database.php

  'mysql' => array(
      'driver'    => 'mysql',
      'host'      => 'localhost',
      'database'  => 'superadmin',
      'username'  => 'root',
      'password'  => 'knwall',
      'charset'   => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix'    => '',
    ),

    'mysql2' => array(
      'driver'    => 'mysql',
      'host'      => 'localhost',
      'database'  => 'framework',
      'username'  => 'root',
      'password'  => 'knwall',
      'charset'   => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix'    => '',
    ),

接下来我们可以使用 Model 的 $connection 属性来指定当前模型使用指定的连接。

默认连接:

class Organization extends Eloquent{
    // 不指定则使用默认的 "mysql

}

制定连接:

class FrameworkOrganization extends Eloquent{
  protected $connection = 'mysql2'; /// Other connection
}
©2020 edoou.com   京ICP备16001874号-3