одна папка laravel со многими базами данных на основе ссылки - PullRequest
3 голосов
/ 13 июня 2019

7 проект позволяет мне сказать, что я работаю с locahost. Я хочу, если URL-адрес http://localhost/project1, тогда база данных будет project1, а если ссылка http://localhost/project2, база данных будет project2 и т. Д.Я много пытался сделать это внутри database.php

    $url = $_SERVER['REQUEST_URI'];
    $url = explode('/',$url);
    $url = $url[1];



    'mysql' => [
        'driver' => 'mysql',
        'host' => 'localhost',
        'port' => '3306',
        'database' => $url,
        'username' => 'root',
        'password' =>'secrit',
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

, он работает, если я только вхожу в основной путь проекта laravel, спасибо большое

1 Ответ

2 голосов
/ 13 июня 2019

В Laravel вы можете динамически устанавливать соединение с базой данных с помощью:

Config::set("database.connections.mysql", [
    "host" => "...",
    "database" => "...",
    "username" => "...",
    "password" => "..."
]);

Итак, у вас есть маршрут, где первая часть - это ваш проект, вы можете установить соединение с базой данных в вашем контроллере. В противном случае вы можете попытаться использовать Events, чтобы установить соединение с базой данных с помощью Kernel-Event.

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