Как динамически изменить имя базы данных перед аутентификацией в laravel - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть одно приложение.в этом, на странице входа в систему вместе с полями имени пользователя и пароля, есть еще одно поле выбора компании.как (comp1, comp2, comp3).на основе выбора компании, я хочу подключиться к этой базе данных, связанной с компанией.все базы данных имеют одинаковые таблицы.просто я хочу изменить имя базы данных и обращаться с этой базой данных по всему приложению.

для этого я создал в BeforeMiddleware.в этом добавлен следующий код.

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Config;

class BeforeMiddleware
{
    public function handle($request, Closure $next)
    {

        $company_name = $_GET['company_name'];

        Config::set('database.connections.mysql.database', $company_name );
        DB::purge('mysql');
        DB::reconnect();

        if(DB::connection()->getDatabaseName())
        {

            echo "Connected sucessfully to database ".DB::connection()->getDatabaseName().".";

        }

        return $next($request);
    }
} 

здесь выбранная база данных успешно подключена, но после того, как я получаю FatalErrorException Call to a member function prepare() on null ошибку.

, пожалуйста, дайте мне знать, как динамически изменить имя базы данных водно место

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