Laravel – глобальное изменение подключения к базе данных по умолчаниюPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel – глобальное изменение подключения к базе данных по умолчанию

Сообщение Anonymous »

В моей базе данных.php настроены ДВЕ базы данных.

Код: Выделить всё

'db1' => array(
'driver'   => 'pgsql',
'host'     => 'localhost',
'database' => 'db1',
'username' => 'root',
'password' => 'password',
'charset'  => 'utf8',
'prefix'   => '',
'schema'   => 'public',
),

'db2' => array(
'driver'   => 'pgsql',
'host'     => 'localhost',
'database' => 'db2',
'username' => 'root',
'password' => 'password',
'charset'  => 'utf8',
'prefix'   => '',
'schema'   => 'public',
),
Поэтому по умолчанию db1 изначально устанавливается как БД по умолчанию. Теперь я хочу переключить базу данных по умолчанию на «db2», выбрав опцию в раскрывающемся списке «Выбрать». Это выполнит отправку AJAX-запроса к методу контроллера, который я делаю

Код: Выделить всё

public function postChangeDb()  {
$db = Input::get('db');
Config::set('database.default', $db);
}
Как только это будет сделано, я «обновлю» страницу, но соединение по-прежнему будет на уровне «db1».

Я также попробовал следующее

Код: Выделить всё

  public function getTest() {
Config::set('database.default', 'db1');
$users = User::all();
echo sizeof($users); // returns 20

Config::set(database.default', 'db2');
$users = User::all();
echo sizeof($users); // returns 50 - which is correct!
}
И вышеописанное работает нормально и успешно переключает базу данных. Является ли переключение «по запросу»?

Подробнее здесь: https://stackoverflow.com/questions/189 ... n-globally
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»