Laravel 如何使用ORM实现同服务器跨库连表

 1 <?php
 2 
 3 namespace App\Http\Controllers\Api;
 4 
 5 use App\Http\Controllers\ApiController;
 6 use App\Models\Code;
 7 use App\Models\Card;
 8 
 9 class CodeController extends ApiController
10 {
11     public function getCodeList(){
12         //这里只需要在env里设置另一个数据库名字CRM_DB_DATABASE就行了(俩数据库都在一个server)
13         $db_crm = env('CRM_DB_DATABASE', 'crm');
       //code表 card表在coupon数据库;shop表在crm数据库,两个数据库在同一个server。
14 $model = Code::select('code.*', 'shop.title')->leftJoin('card', 'card.id', 'code.card_id') 15     ->leftJoin($db_crm . '.shop', 'shop.id', 'card.shop_id'); 17 18 19 return $this->json($model->get()->toArray()); 20 }

 

 

主要参考 https://www.jianshu.com/p/3ba0532731fa  感谢!

 

posted @ 2020-03-20 10:39  青色葱白  阅读(1029)  评论(0)    收藏  举报