Создать динамическое соединение с базой данных в Laravel
Я пытался изменить соединение с базой данных из модели 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 ответ
Просто введите детали БД в файл .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