2017-03-08 91 views
0

如何在laravel-5中連接兩個數據庫以及如何從db中獲取數據。在laravel中連接兩個數據庫

我知道兩一件事對於

配置/數據庫這樣設置。

'mysql' => [ 
     'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'larashop'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

'mysql2' => [ 
      'driver' => 'mysql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'larashop2'), 
      'username' => env('DB_USERNAME', 'root'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
     ], 

回答

0

我發現在laravel中連接2數據庫的問題。

如果任何身體希望與2數據庫兩項工作然後CONFIG與參數以上建議,並從位於在根.ENV文件刪除數據庫配置

我試過了,我正在使用2個數據庫。

1

使用查詢,您可以定義在查詢生成器的連接:

$users = DB::connection('mysql2')->select('your query'); 

使用雄辯 您還可以定義你的雄辯的模型要使用的連接,以及!

<?php 

class SomeModel extends Eloquent { 

    protected $connection = 'mysql2'; 

} 

您也可以通過setConnection方法在運行時定義連接。

<?php 

class SomeController extends BaseController { 

    public function someMethod() 
    { 
     $someModel = new SomeModel; 

     $someModel->setConnection('mysql2'); 

     $something = $someModel->find(1); 

     return $something; 
    } 

} 
+0

這裏有一些教程。我從這個參考。 http://fideloper.com/laravel-multiple-database-connections https://laracasts.com/discuss/channels/general-discussion/hitting-multiple-databases-dinamically-with-laravel?page=1 –

+0

此代碼是okk,但從.evn刪除連接代碼。 – Kanu