我需要使用INSERT INTO ... SELECT,但是在Laravel中使用了两个不同的数据库。数据库A是本地数据库。数据库B是一个远程数据库。
我需要这样的东西:
INSERT INTO local.table1
SELECT *
FROM remote.table1
ON DUPLICATE KEY UPDATE col1=col1
有什么办法可以在laravel中实现吗?谢谢!
答案 0 :(得分:4)
您可以在Laravel中建立多个数据库连接。关注this帖子。
然后利用它:
<?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());