如何连接laravel-5中的两个数据库以及如何从db获取数据。
我知道两件事
在 config / database 中设置如下。
'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 :(得分:1)
使用Query,您可以在查询生成器上定义连接:
$users = DB::connection('mysql2')->select('your query');
使用Eloquent 您还可以定义在Eloquent模型中使用的连接!
<?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;
}
}
答案 1 :(得分:1)
我在laravel中找到了connect 2数据库的问题。
如果有任何机构希望两个人使用 2数据库,那么请将 .env 文件配置为上述建议和删除数据库配置在根。
我试过,我正在使用2个数据库。