База данных [dpnmwin] не настроена - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь соединить 2 базы данных в моей системе с laravel 5, и когда я пытаюсь получить данные из одной базы данных, я пропускаю эту ошибку

База данных [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
    ));

}

, это приводит меня к данным без проблем.

ПочемуВы не приносите мне данные из моей другой базы данных?

Это проблема в конфигурации?

1 Ответ

0 голосов
/ 28 мая 2018

Вы должны передать имя соединения, изменить эту строку и передать mysql2 в качестве имени соединения.

$ users = DB :: connection ('mysql2') -> select ('select * from datos_itu');

Подробнее здесь: https://laravel.com/docs/5.6/database#using-multiple-database-connections

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...