如何在 Laravel 中从两个不同的数据库运行这个简单的 Mysql 查询?
SELECT * FROM database1.table1, database2.table2
我如何在不同的数据库上加入 Eloquent?
最佳答案
正如我提到的,如果数据库在同一台服务器上并且 mysql 用户可以访问这两个数据库,您可以使用 DB::raw
传递表:
$q1 = DB::table(DB::raw('database1.table1 AS db1_tb1'))->select('*');
$results = DB::table(DB::raw('database2.table2 AS db2_tb2'))->select('*')
->union($q1)
->get();
对于连接:
DB::table(DB::raw('database1.table1 AS db1_tb1'))
->join(DB::raw('database2.table2 AS db2_tb2'),'db1_tb1.first_key','=','db2_tb2.second_key')
关于php - 在 Laravel 5.3 上不同数据库中的 Eloquent 连接和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40894699/