Laravel Multi Database Connection连接表

时间:2016-11-28 03:51:53

标签: laravel laravel-5 eloquent dbconnection

Datebase 1 = db1 数据库2 = db2

我有两个数据库连接,我想运行一个eloquent或DB加入connection1和connection 2表(db1.users和db2.users),并检查connection1 id = connection 2。

有人可以指导我怎么做吗?

欣赏如果有人可以指导我做什么。

db1用户 ID 名称 ori_id

db2 ori_user ID 名称

在db1.user.ori_id = db2.ori_user.id上从db1.user join db1.user中选择db2.ori_user.name

2 个答案:

答案 0 :(得分:1)

是的,只要它们位于同一台服务器上就可以,例如:

{{1}}

确保用户具有使用这两个数据库的访问权限。

答案 1 :(得分:0)

database.php

中的

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'customers'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],

        'mysql2' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'customers2'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],

此处客户 database1 customers2 database2

控制器

中的

 $data=DB::select('select customers2.ori_user.name from customers.user join customers2.ori_user on customers.user.ori_id = customers2.ori_user.id');

$data=DB::select('your_query');

Youtube链接:https://www.youtube.com/watch?v=Kgl3FzqP1Ps&feature=youtu.be