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