为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
皈依舞 2022-09-25 20:59:59
我正在Laravel中创建一个应用程序,每个应用程序都有其数据库,每个模块是否可以接收其连接文件,而不是将所有内容都保留在配置/数据库中?
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

当你说模块时,你的意思是什么?


Laravel 支持多个数据库连接,在每个 Eloquent 模型中,您可以添加属性$connection以指定要用于特定模型的数据库连接。


class MyClass extends Eloquent {


    protected $connection = 'myConnectionName';

    ...

}

但是,请确保所有处于关系中的模型都位于同一数据库中。在配置/数据库中添加我的连接名称的定义.php


查看完整回答
反对 回复 2022-09-25
?
呼唤远方

TA贡献1856条经验 获得超11个赞

是的,它可以遵循以下步骤,如果有任何疑问,请让我


步骤 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=mysql

DB_HOST2=100.10.0.100 // Add your hostname

DB_PORT2=3306

DB_DATABASE2=test // add your DB name

DB_USERNAME2=testuser // add your user name

DB_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']);

所有最好的...


查看完整回答
反对 回复 2022-09-25
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号