Ima*_*ghi 5 php mysql database laravel
我在两个不同的数据库中有两个表.两个数据库都托管在同一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' => '',
),
),
);
Run Code Online (Sandbox Code Playgroud)
我有两个模型用于table1连接database1和table2连接database2.两个表都有一列id.如何使用Eloquent模型为具有相同行的行加入查询id?
Ima*_*ghi 12
这个解决方案对我有用:
Model1::where('postID',$postID)
->join('database2.table2 as db2','Model1.id','=','db2.id')
->select(['Model1.*','db2.firstName','db2.lastName'])
->orderBy('score','desc')
->get();
Run Code Online (Sandbox Code Playgroud)
如果两个数据库位于同一连接上并且设置为默认值,则可以尝试这种方式。
$query = DB::table('database1.table1 as dt1')->leftjoin('database2.table2 as dt2', 'dt2.ID', '=', 'dt1.ID');
$output = $query->select(['dt1.*','dt2.*'])->get();
Run Code Online (Sandbox Code Playgroud)
我已经在我的本地主机上尝试过它的工作。
| 归档时间: |
|
| 查看次数: |
10402 次 |
| 最近记录: |