Как изменить средний код соединения с БД в OctoberCMS / Laravel - PullRequest
0 голосов
/ 17 декабря 2018

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

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

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

1 Ответ

0 голосов
/ 17 декабря 2018

Используйте фасад 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');
    }
}
...