orm 使用join 别的数据库的表不能使用?????
ShoppingCard::query()
->with([‘shoppingCardBatches’=>function($query){
$query->select(
‘id’,
‘company’,
‘remark’,
‘end_time as batch_end_time’,
‘amount as batch_amount’,
‘gift_amount as batch_gift_amount’,
‘start_time as batch_start_time’
);
},’userShoppingCards’=>function($query){
$query->select(
‘card_id’,
‘amount as card_amount’,
‘remark as sremark’,
‘start_time as card_start_time’,
‘end_time as card_end_time’,
‘create_time as usc_time’,
‘status as card_status’,
‘lock_end_time’,
‘balance’,
‘card_type’,
‘gift_amount as card_gift_amount’
);
}])
->joinSub($walkingVoucher, ‘walking_voucher’, function ($join) {
$join->on(‘shopping_cards.batch_id’, ‘=’, ‘walking_vouchers.shopping_card_batches_id’);
})
//->join(‘mysql.walking_vouchers’,’walking_vouchers.shopping_card_batches_id’,’=’,’shopping_cards.batch_id’)
->when(!empty($params[‘card_id’]),function ($query)use ($params){
$query->where(‘shopping_cards.id’,’like’,’%’.$params[‘card_id’].’%’);
})
->when(!empty($params[‘card_status’]),function ($query)use ($params){
$query->whereHas(‘userShoppingCards’,function ($query)use ($params){
$query->where(‘status’,$params[‘card_status’]);
});
})
->select(
‘shopping_cards.id’,
‘shopping_cards.batch_id’,
‘shopping_cards.id as card_id’,
‘shopping_cards.password’,
‘shopping_cards.user_id’,
‘shopping_cards.status as card_base_status’,
‘shopping_cards.end_time as custom_end_time’
)
// ->orderByDesc(‘walking_vouchers.create_time’)
->paginate($params[‘limit’]??20); orm 使用join 别的数据库的表不能使用?????
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: