我正在尝试使用第一个数据库中的一个表创建一个查询范围,并将左连接附加到另一个数据库中的另一个表。我理解如何在Laravel中做一个查询范围。
是否可以从不同的数据库中保留连接2个表?如果是这样,你怎么做?
这是我的查询范围:
public function scopeLinkSalesHistory($query, $search)
{
$query->leftJoin('sOeinvd', 'inventory.item', '=', 'sOeinvd.item')
->leftJoin('sOeinvh', 'sOeinvh.invuniq', '=', 'sageOeinvd.invuniq');
! ( empty( $search ) ) ? $query->where( function ( $query ) use ( $search ) {
$query->where( 'inventory.item', 'LIKE', '%' . $search . '%' )
->orWhere( 'inventory.description', 'LIKE', '%' . $search . '%' );
} )
: $query;
$query->select('*', DB::raw('sum(qtyshipped) as qtysold'), 'inventory.item as item');
$query->groupBy('sOeinvh.invfiscper')->groupBy('sOeinvh.invfiscyr')->groupBy('inventory.item')->orderBy('inventory.item')->orderBy('sOeinvh.invfiscyr')->orderBy('sOeinvh.invfiscper');
return $query;
}
以'开头的表格。来自第二个数据库。它没有用,因为我没有正确引用这些表。通常我会用这个:
DB::connection('sql')->table('sOeinvd')
但是你如何在查询范围中使用它呢?