首页 > 编程开发 > PHP    日期:2021-03-18 / 浏览

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 最后排除不符合条件的

2、三表关联

$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]);

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章