2017-03-08 93 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