laravel跨库查询方法

laravel中跨库查询技巧:

1. 跨库查询

# 声明库名和表名即可
$broker
= \DB::connection('database2')->table('broker') ->where(['state'=>1, 'id'=>15])->first();

2. 跨库连表查询

# 跨数据库连接表查询数据比较麻烦,在拼接SQL时,连接库相关必须使用\DB::raw()来声明定义,否则框架会自动在前面添加主库表前缀test_
$data
= TestModel::from('test_book as logbook') ->select(['logbook.id', \DB::raw('o.orderNo'), 'logbook.money', 'logbook.capitalType as payTypeName', \DB::raw('o.actualPay as totalPrice'), \DB::raw('o.payTime')]) ->leftJoin(\DB::raw('`database2`.`order` as o'), \DB::raw('o.id'), 'logbook.orderId') ->where(['logbook.entityType'=>'broker', 'logbook.entityId'=>15, 'logbook.io'=>1]) ->paginate(1);

 

posted @ 2020-05-11 16:50  vlson  阅读(3525)  评论(1编辑  收藏  举报