Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel中一个查询中的两个数据库连接_Php_Database_Laravel_Connection - Fatal编程技术网

Php Laravel中一个查询中的两个数据库连接

Php Laravel中一个查询中的两个数据库连接,php,database,laravel,connection,Php,Database,Laravel,Connection,我需要使用INSERT INTO…SELECT,但在Laravel中使用两个不同的数据库。数据库A是一个本地数据库。数据库B是一个远程数据库 我需要这样的东西: INSERT INTO local.table1 SELECT * FROM remote.table1 ON DUPLICATE KEY UPDATE col1=col1 我有没有办法在拉威尔做到这一点?谢谢 在Laravel中可以有多个数据库连接。跟贴 然后利用它: <?php $selectQuery = \DB::

我需要使用INSERT INTO…SELECT,但在Laravel中使用两个不同的数据库。数据库A是一个本地数据库。数据库B是一个远程数据库

我需要这样的东西:

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

我有没有办法在拉威尔做到这一点?谢谢

在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());

u要从本地选择行并将行插入远程数据库..对吗?不对,我要从远程选择行并插入本地数据库@JigneshJoisarThis不起作用。selectQuery似乎使用“本地”而不是“远程”。有没有可能我需要其他的东西来实现这个功能?如果它的服务器完全不同,那么您需要使用引擎创建一个表。