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  感谢!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM