您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 其他语言 >> laravel55 操作多个数据库问题

laravel55 操作多个数据库问题(1/2)

来源:网络整理     时间:2018/1/28 1:13:06     关键词:

关于网友提出的“ laravel55 操作多个数据库问题”问题疑问,本网通过在网上对“ laravel55 操作多个数据库问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: laravel55 操作多个数据库问题
描述:

问题:laravel5.5 使用ORM方式操作同一台MySQL机器上的多个DB时,如何优雅的设置链接?

laravel默认会链接env里配置的数据库,但是在不同的Model里我需要指定另一个数据库而不是使用这个evn里默认的;

查阅API手册后知,在Model里指定$connection即可,但是经过试验发现这个$connection的值 是需要在/config/database.php里新增一个array配置。

/config/database.php

//默认,会读取env里的mysql配置
'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
        //自己新增的
        'introduction_processQualityReport' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

经过测试发现,自己新增的这个数据key必须和我想要在Model里单独指定使用的数据库名一样,否则就报错database not xxx 之类的。

问题1
新增的那个数组introduction_processQualityReport,个人感觉value里一大堆和默认的那个没啥区别,这样写有些累赘,不知道有没有别的更优雅的方式?(这2个数据库都是在同一台MySQL上)


解决方案1:

我没有出现database配置里key必须为数据库名的问题,
database.php

相关图片

相关文章