【laravel5】實現超級牛皮的 leftjoin ON (a or b) and c 聯表查詢


1、 本sql 以 查詢構造器實現 上述 leftjoin ( a or b )  and c  復雜聯表查詢

2、使用 DB::raw 生成 一個 字表進行聯表,sql如下:

 

//         DB::connection()->enableQueryLog();

              $objM = $objM->addSelect('cc.node_id', 'cc.sale_cnt')
                  ->leftJoin(DB::raw("(select node_id, product_id, sum(sale_cnt) as sale_cnt FROM stat_product_sale_day 
WHERE 1=1 AND node_id=".$nodeId." GROUP BY node_id, product_id) as cc"), function($join){ $join->on( function($left) { return $left->on('s.store_id','=','cc.node_id')->orWhere('product_sale_info.group_id', "0"); }) ->on('product_sale_info.product_id','=','cc.product_id'); //                     $join->on('s.store_id','=','cc.node_id')->orWhere('product_sale_info.group_id', "0")
//                       ->on('product_sale_info.product_id','=','cc.product_id');
                  })
                  -> orderBy('cc.sale_cnt', 'DESC');
        }
        
//         $objM->get(); dd(DB::getQueryLog());die;
        return $objM = $objM->paginate(15);

 

其他的就不說了,拿去用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM