php - 在 Laravel 5.3 上不同数据库中的 Eloquent 连接和查询

标签 php mysql database laravel eloquent

如何在 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/

相关文章:

php - php中所有请求之间的关键部分

php - MySQL UNION SELECT 3 表错误

mysql - 在 MySQL 查询中使用列名作为表

javascript - 限制为mongodb之上和之下

php - 在类中创建数据库表作为函数

python - 通过适配器而不是 REST 查询 CouchDB 更快吗?

php - 优化SQL语句: Select multiple values

PHP session 超过 2 页

php - MAMP-mysqli_query(): (HY000/6): Error on delete of …

mysql - 查询连接同表错误