Подключение к базе данных из сеанса в Laravel - PullRequest
0 голосов
/ 11 января 2019

У меня есть несколько соединений с базой данных, но для соединения perusahaan db я хочу установить database_name из сеанса. как это решить?

. enter image description here

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Это необходимо сделать во время выполнения, это нельзя сделать напрямую из файла конфигурации.

config(['database.connections.perusahaan.database' => session('db_key')]);

Вам также может потребоваться очистить соединение, так как оно может быть кэшировано

app(DatabaseManager::class)->purge('perusahaan');
0 голосов
/ 11 января 2019

Вы можете сделать это:

config(['database.connections.perusahaan.database' => session('db_key')]);

Вы устанавливаете время выполнения переменной конфигурации с помощью помощника config, передавая ему значение из помощника session. То, как вы это делаете, терпит неудачу, потому что сеанс еще не доступен во время чтения конфигурации.

Я хотел бы добавить предупреждение о том, что вы можете доверять данным, которым нельзя доверять, однако я не знаю достаточно о вашем приложении, чтобы быть уверенным.

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