Laravel: копирование моделей / строк из одного соединения в другое - PullRequest
3 голосов
/ 28 июня 2019

Я хочу скопировать красноречивую модель из одного соединения в другое.

Пока я делал это следующим образом:

$users = User::on('connection1')->where('tenant', 'foo')->get();
User::on('connection2')->insert($users->toArray());

Это работает большую часть времени.Но есть случаи, когда это не работает.Например:

  • Когда модель имеет атрибут $hidden
  • Когда метод toArray для модели переопределен

Что такое надежныйспособ просто скопировать несколько строк в другое соединение?

1 Ответ

0 голосов
/ 28 июня 2019

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

$users = User::on('connection1')->where('tenant', 'foo')->get();
foreach ($users as $user) {
   $user->setConnection('connection2');
   $user->save();
}

Я нашел это в другом вопросе stackoverflow здесь

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