2017-02-04 61 views

回答

0

您可以在app/config/database.php文件中设置多个数据库连接。

例子:

'default' => 'mysql', 

    'connections' => array(

     # Our primary database connection 
     'mysql' => array(
      'driver' => 'mysql', 
      'host'  => 'host1', 
      'database' => 'database1', 
      'username' => 'user1', 
      'password' => 'pass1' 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
     ), 

     # Our secondary database connection 
     'mysql2' => array(
      'driver' => 'mysql', 
      'host'  => 'host2', 
      'database' => 'database2', 
      'username' => 'user2', 
      'password' => 'pass2' 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
     ), 
    ) 

,然后只用连接名称在您的查询:您的第一个数据库

$users = DB::connection('mysql2')->select(...); 
+0

感谢您的答复,但我会再增加15间分贝的连接,更将在未来加入,所以我需要把当前分贝。 – vikram

1

您只需创建表“连接(字符串)”,并创建一个该表的模型。

之后,你可以做这样的事情:

$selected = Connection::query()->where('name', 'fromdropdown')->first(); 
    $connection = $selected; 
       config(['database.connections.data' => array(
        'driver' => 'sqlsrv', 
        'host' => $connection['Database_Server'], 
        'database' => $connection['Database_Name'], 
        'username' => $connection['Database_User'], 
        'password' => $connection['Database_Pass'] 

       )]); 

       DB::setDefaultConnection('data'); 
+0

对不起,但你可以更精确地如何执行从该连接查询 – vikram

+0

好laravel将始终使用默认数据库连接,我们在最后一行:) –