Laravel Migration работает, но не может получить доступ с помощью Eloquent - PullRequest
1 голос
/ 04 апреля 2019

У меня есть некоторые проблемы с моим Laravel.

Миграции работают нормально, но когда я пытаюсь вставить или получить доступ к данным с помощью Eloquent, у меня возникает ошибка:

"SQLSTATE [HY000] [2002] Соединение отказано"

.env file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myddb
DB_USERNAME=root
DB_PASSWORD=password

database.php file:

'driver' => 'mysql',
'host' =>'127.0.0.1',
'port' => '3306',
'database' =>'myddb',
'username' => 'root',
'password' => 'password',

Я использую Docker .

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Предполагая, что ваш docker-compose.yml показывает следующее:

version: '2'
services:

  thedatabase:
    build:...

  web:
    ...

Ваш .env файл должен выглядеть так:

DB_HOST=thedatabase

Таким образом ваши изображения в докере будут общаться. И всегда, когда вам нужно выполнить любую команду ремесленника, просто введите изображение и запустите команду. Например:

my@computer $ docker-compose exec web bash
docker:web $ php artisan migrate

Или подать команду на изображение, чтобы выполнить команду, подобную следующей:

docker-compose exec web php artisan migrate
1 голос
/ 04 апреля 2019

Ваша БД должна быть вашим док-контейнером, поэтому она должна выглядеть примерно так:

DB_CONNECTION=mysql
DB_HOST=database <== needs to be named after your database container name
DB_PORT=3306
DB_DATABASE=myddb
DB_USERNAME=root
DB_PASSWORD=password
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...