我在两个不同的数据库中有两个表。两个数据库都托管在同一个 AWS RDS 服务器上。我有一个可以访问两个数据库的用户帐户。 我在 config\database.php 中定义了两个不同的连接:
return array(
'default' => 'mysql',
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'samehost',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'samehost',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
我有两个模型,table1
连接到 database1
和 table2
连接到 database2
。两个表都有一个列 id
。如何使用 Eloquent 模型对具有相同 id
的行加入查询?
最佳答案
这个解决方案对我有用:
Model1::where('postID',$postID)
->join('database2.table2 as db2','Model1.id','=','db2.id')
->select(['Model1.*','db2.firstName','db2.lastName'])
->orderBy('score','desc')
->get();
关于php - 使用 Laravel Eloquent 连接同一服务器上不同数据库中的两个 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41423603/