我正在尝试使用laravel 5连接我的系统上的2个数据库,当我尝试从一个数据库中获取数据时,我跳过此错误
数据库[dpnmwin]未配置。
我的档案.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=spi_intranet
DB_USERNAME=root
DB_PASSWORD=null
DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=127.0.0.1
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=dpnmwin
DB_USERNAME_SECOND=root
DB_PASSWORD_SECOND=null
我的档案database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'spi_intranet'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'mysql2' => [
'driver' => 'mysql',
'host' => env('DB_HOST_SECOND', '127.0.0.1'),
'port' => env('DB_PORT_SECOND', '3306'),
'database' => env('DB_DATABASE_SECOND', 'dpnmwin'),
'username' => env('DB_USERNAME_SECOND', 'root'),
'password' => env('DB_PASSWORD_SECOND', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
当他试图从dpnmwin
数据库中提取数据时出现错误,如下所示
public function index(){
$users = DB::connection('dpnmwin')->select('select * from datos_itu');
return view('users.list',array(
'users' => $users
));
}
但是如果我想从我的其他数据库spi_intranet
public function index(){
$users = User::all();
return view('users.list',array(
'users' => $users
));
}
它给我带来了没有问题的数据。
为什么不把我的其他数据库中的数据带给我?
这是配置中的问题吗?
答案 0 :(得分:1)
您必须传递连接名称,更改此行并将mysql2作为连接名称传递。
$ users = DB :: connection(' mysql2') - >选择(' select * from datos_itu');
在此处阅读更多内容:https://laravel.com/docs/5.6/database#using-multiple-database-connections