У меня есть одно приложение.в этом, на странице входа в систему вместе с полями имени пользователя и пароля, есть еще одно поле выбора компании.как (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
ошибку.
, пожалуйста, дайте мне знать, как динамически изменить имя базы данных водно место