2016-08-25 4 views
1

Я использую Lumen и Eloquent в первый раз для создания API. Мне нужно запросить одну и ту же таблицу в нескольких базах данных по одному запросу. Используемый мной алгоритм выглядит следующим образом:Сброс (аннулирование) Laravel/Яркое подключение

foreach($db in $dbs) { 
    config(['database.connections.clientdb.database' => $db]); 
    $count = MyModel->all()->count() 
    $myArray[] = $count 
} 

Вместо того, чтобы получать массив различных значений, значения всегда одинаковы; значение, полученное при первом соединении с базой данных.

Поскольку первая база данных не настроенная база данных, я знаю, что команда config работает (хотя бы один раз). Я подтвердил, что имя базы данных меняется на каждой итерации. Я не (сознательно) использую кеш. Я использовал $mymodel = new MyModel('$db') и выполнил setConnection() модели в конструкторе, а затем установил $mymodel = null. Значение $count никогда не изменяется.

Я угадывание подключение к базе данных не выпускается. Как мне получить Lumen/Laravel/Eloquent, чтобы разорвать соединение с базой данных и подключиться к другому в том же запросе?

ответ

0

Я получил его с помощью this posting.

Основная идея заключается в том, что вы не можете (не можете?) Переопределить конфигурацию. Вместо этого вы создаете новую конфигурацию «на лету» и (чтобы сделать жизнь проще на себе), установите ее как соединение по умолчанию с базой данных.

 Смежные вопросы

  • Нет связанных вопросов^_^