猿问

如何在拉拉维尔逐个模块使用多个连接

我正在Laravel中创建一个应用程序,每个应用程序都有其数据库,每个模块是否可以接收其连接文件,而不是将所有内容都保留在配置/数据库中?


皈依舞
浏览 112回答 2
2回答

狐的传说

当你说模块时,你的意思是什么?Laravel 支持多个数据库连接,在每个 Eloquent 模型中,您可以添加属性$connection以指定要用于特定模型的数据库连接。class MyClass extends Eloquent {    protected $connection = 'myConnectionName';    ...}但是,请确保所有处于关系中的模型都位于同一数据库中。在配置/数据库中添加我的连接名称的定义.php

呼唤远方

是的,它可以遵循以下步骤,如果有任何疑问,请让我步骤 1 :在配置>数据库.php mysql=>[...] 的底部添加第二个数据库代码。'mysql2' => [            'driver' => 'mysql',            'host' => env('DB_HOST2', '100.10.0.100'),  // note add your hostname             'port' => env('DB_PORT2', '3306'),            'database' => env('DB_DATABASE2', 'forge'),            'username' => env('DB_USERNAME2', 'forge'),            'password' => env('DB_PASSWORD2', ''),            'unix_socket' => env('DB_SOCKET', ''),            'charset' => 'utf8mb4',            'collation' => 'utf8mb4_unicode_ci',            'prefix' => '',            'strict' => true,            'engine' => null,        ],步骤 2 :在 .evn 文件中添加代码DB_CONNECTION2=mysqlDB_HOST2=100.10.0.100 // Add your hostnameDB_PORT2=3306DB_DATABASE2=test // add your DB nameDB_USERNAME2=testuser // add your user nameDB_PASSWORD2=test123 // add your pass步骤3:您可以在控制器中访问(注意:使用ue表名和字段)$records= DB::connection('mysql2');              $records1 = $records->table('contact');       $records2 = $records1->where('mobile',$client_mob)                   ->where('delete',0)                   ->first(['id','converted']);所有最好的...
随时随地看视频慕课网APP
我要回答