Два подключения к базе данных в одном запросе в Laravel - PullRequest
0 голосов
/ 04 февраля 2019

Мне нужно использовать INSERT INTO ... SELECT, но использовать две разные базы данных в Laravel.База данных А является локальной базой данных.База данных B является удаленной базой данных.

Мне нужно что-то вроде этого:

INSERT INTO local.table1
SELECT * 
FROM remote.table1
ON DUPLICATE KEY UPDATE col1=col1

Есть ли способ, которым я мог бы добиться этого в Laravel?Спасибо!

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете иметь несколько соединений с базой данных в Laravel.Следуйте этому сообщению.

Затем, чтобы использовать его:

<?php 

$selectQuery = \DB::connection('remote')
    ->table('table1')
    ->select('column1','column2','column3');

\DB::connection('local')->insert('INSERT INTO table1 (column1, column2, column3) ' . $selectQuery->toSql(), $selectQuery->getBindings());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...