当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel join关联查询代码实例

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-19 08:49:01 浏览: 评论:0 

这篇文章主要介绍了laravel join关联查询代码实例,join联查是写sql查询的时候常用也是高效的一种查询,文中是结合laravel框架来使用联查,有感兴趣的同学可以学习下。

laravel join关联查询

1、两表关联

  1. $fbaInventoryTb = (new \App\Model\Amz\Fba\InventoryReport)->getTable(); 
  2. $productTb = (new \App\Model\Amz\Product)->getTable(); 
  3. $twInventoryTb = (new \App\Model\TWUsa\TwusaInventory)->getTable(); 
  4. $qry = \DB::table($fbaInventoryTb); 
  5.   $qry->select($fbaInventoryTb.'.*') 
  6.    ->where($fbaInventoryTb.'.ec_id',1) 
  7.    ->leftjoin($productTb, $productTb.'.sku', '=', $fbaInventoryTb.'.sku') 
  8.    ->addSelect($productTb.'.id as goods_id',$productTb.'.sku as mfn', $productTb.'.ec_id as pro_ec_id'); 
  9. //  ->where($productTb.'.ec_id',1); //不应该在此处排除 product 表的ec_id 
  10.  
  11. //  return $qry->toSql(); 
  12.   $res = $qry->get()->whereIn('pro_ec_id',[1, null] );//leftJion 最后排除不符合条件的 

2、三表关联

  1. $qry = \DB::table($twInventoryTb); 
  2.   $qry->select($twInventoryTb.'.*') 
  3.    ->leftjoin($fbaInventoryTb, $fbaInventoryTb.'.fnsku', '=', $twInventoryTb.'.product_sn') 
  4.    ->addSelect($fbaInventoryTb.'.ec_id') 
  5.    ->where($fbaInventoryTb.'.ec_id',1); 
  6.  
  7.   $qry->LeftJoin($productTb, $productTb.'.sku', '=', $fbaInventoryTb.'.sku') 
  8. //   ->where($productTb.'.ec_id',1) 
  9.    ->addSelect($productTb.'.id as goods_id', $productTb.'.sku as mfn', $productTb.'.ec_id as pro_ec_id'); 
  10.  
  11.   $res = $qry->get()->whereIn('pro_ec_id', [1, null]);

Tags: laravel关联查询 join关联查询

分享到: