Используйте фасад Config
для изменения соединения.Вам необходимо убедиться, что для моделей, использующих общую базу данных (т. Е. Аутентификацию пользователя), их подключения к базе данных установлены явно, чтобы динамические изменения в конфигурации не влияли на эти модели.
Вот пример того, как высделает это.
В файле Plugin.php вашего пользовательского плагина:
use Config;
use Backend\Models\User;
use System\Classes\PluginBase;
class Plugin extends PluginBase
{
public function register()
{
User::extend(function($model) {
$model->setConnection('my_default_connection');
});
Config::set('database.default', 'this_companies_connection');
}
}