Создать динамическое соединение с базой данных в Laravel - PullRequest
0 голосов
/ 13 декабря 2018

Я пытался изменить соединение с базой данных из модели laravel,

Это мой код,

namespace App\model;

use Illuminate\Database\Eloquent\Model;

use Config;
use DB;
class Process extends Model
{

    config(['database.connections.newsql' => [
            'host' => '127.0.0.1',
            'password' => '',
            'database' => 'gps_bizspecific',
            'username' => 'root'
        ]]);

Но я получил ошибку

Синтаксическая ошибка, неожиданный 'config' (T_STRING), ожидающая функция (T_FUNCTION) или const (T_CONST)

Как решить эту проблему ???

ПРИМЕЧАНИЕ: я не хочуобновите config / database.php. Мне нужно передать имя базы данных (хранится в переменной раздела) из модели

Ситуация :

When a user register in my site it will create a dedicated database for each user, so when each user login to my site i need to fetch datas from corresponding user database

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

Спасибо.

1 Ответ

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

Просто введите подробную информацию о БД в .env файл

 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306
 DB_DATABASE=yourdbname DB_USERNAME=yourusername DB_PASSWORD=password

, затем введите команду ниже

php artisan config:cache
...