Laravel项目中如何实现两表和三表关联查询
Admin 2022-09-16 群英技术资讯 981 次浏览
今天我们来学习关于“Laravel项目中如何实现两表和三表关联查询”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
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])
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
开发前很多外包团队肯定会问你,是用Java开发还是php开发,如果你不懂,要么选择相信这个团队,要么等着被坑。
今天小编就为大家分享一篇laravel 出现command not found问题的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php如何处理http请求超时?http请求超时不少朋友都有遇到过,那么我们应该如何解决呢?这篇文章就给大家介绍一下http请求超时可能出现的场景以及http请求超时解决方案。
swoole支持多线程。Swoole\Server的主进程是一个多线程的程序。其中有一组很重要的线程,称之为Reactor线程。但是由于PHP语言不支持多线程,因此Swoole使用多进程模式。
phpstorm是使用JAVA开发的。由于IDE提供源文件关键字渲染功能,我们对文件的任何编辑或移动鼠标,都会触发渲染操作。而phpstorm默认的JAVA环境并没有利用机器的硬件加速技术去实现实时渲染,因此当然会让系统卡死。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008