laravel join 關聯查詢

laravel join關聯查詢

 

1、兩表關聯

$fbaInventoryTb =  (new \App\Model\Amz\Fba\InventoryReport)->getTable();
$productTb =  (new \App\Model\Amz\Product)->getTable();
$twInventoryTb =  (new \App\Model\TWUsa\TwusaInventory)->getTable();
$qry = \DB::table($fbaInventoryTb);
        $qry->select($fbaInventoryTb.'.*')
            ->where($fbaInventoryTb.'.ec_id',1)
            ->leftjoin($productTb, $productTb.'.sku', '=', $fbaInventoryTb.'.sku')
            ->addSelect($productTb.'.id as goods_id',$productTb.'.sku as mfn', $productTb.'.ec_id as pro_ec_id');
//            ->where($productTb.'.ec_id',1);  //不應該在此處排除 product 表的ec_id

//        return $qry->toSql();
        $res =  $qry->get()->whereIn('pro_ec_id',[1, null] );//leftJion 最後排除不符合條件的

 

3、三表關聯

$qry = \DB::table($twInventoryTb);
        $qry->select($twInventoryTb.'.*')
            ->leftjoin($fbaInventoryTb, $fbaInventoryTb.'.fnsku', '=', $twInventoryTb.'.product_sn')
            ->addSelect($fbaInventoryTb.'.ec_id')
            ->where($fbaInventoryTb.'.ec_id',1);

        $qry->LeftJoin($productTb, $productTb.'.sku', '=', $fbaInventoryTb.'.sku')
//            ->where($productTb.'.ec_id',1)
            ->addSelect($productTb.'.id as goods_id', $productTb.'.sku as mfn', $productTb.'.ec_id as pro_ec_id');

        $res = $qry->get()->whereIn('pro_ec_id', [1, null]);

 

 

 

 

 

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