laravel 如何使用ORM實現同服務器跨庫連表

       最近因爲考慮到數據非常多,之前開發的功能沒考慮到這一點,所以必須用到聯表查詢的方式進行關聯查詢獲取數據,但是由於兩個數據表有點特殊,在不同數據庫,所以我也百度谷歌了一番,看到最多就是用模型關聯,但是用起來達不到自己要的效果,所以我有點懷疑是不是複製粘貼就發出來,最終在一篇技術文章找到靈感,最後成功解決這個問題,下面直接貼出代碼

//獲取起始日期、結束日期
$whereStart = date('Y-m-d H:i:s', strtotime($day));
$whereEnd = date('Y-m-d H:i:s', (strtotime($value) + 60 * 60 * 24));
//關聯查詢
$db_crm = 'users';
$newCount = \App\Models\JFLogModel::leftJoin($db_crm . '.userlist', 'userlist.uid', 'jf_log.open_id')
    ->where($db_crm . '.userlist.' . 'create_at', '>=', $whereStart)->where($db_crm . '.userlist.' . 'create_at', '<', $whereEnd)
    ->where('jf_log.' . 'day', $day)->where('jf_log.' . 'huodong_id', $activityFilterId)->count();

這樣就成功跨庫聯表查詢數據,其中$db_crm指的是userlist表所在庫名,這段代碼就是jf_log表關聯users庫所在userlist表統計數據

更多文章請識別以下微信小程序二維碼進行查看

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章