可以Laravel查询生成器连接有2个参数?



在我执行了下面的查询之后,Laravel显示了一个错误,说enterpriseDB。Employee_detail不存在。enadopodDB和enterpriseDB是两个不同的数据库。

$query = DB::connection('enadopodDB','enterpriseDB')
->table('affected_employee')
->join('enterpriseDB.employee_detail', 'enterpriseDB.employee_detail.employee_detail_id', '=', 'affected_employee.employee_id')
->select('affected_employee.*', 'enterpriseDB.employee_detail.full_name')
->get();
var_dump($query);

如果查询生成器是错误的,请提出解决方案。

需要为所有表定义数据库名称。如果两个数据库在同一连接上,并且设置为默认,则可以尝试这种方法。

$query = DB::table('database1.table1 as dt1')->leftjoin('database2.table2 as dt2', 'dt2.ID', '=', 'dt1.ID');        
$output = $query->select(['dt1.*','dt2.*'])->get();

我已经在我的本地主机上试过了。

最新更新