首页 > 解决方案 > php join 多个查询结果 laravel

问题描述

我有两个queries需要运行才能获得,一份合同清单和一份销售清单,因为每个客户都有一份重复的合同我已经编写了一个查询,该查询将返回 customer_id 和他们最终合同的日期同时加入我们的产品表以过滤某些产品。另一个查询通过连接到几个表返回给定区域的销售列表,无论如何,在调用这些查询之后,我可以使用php.


    $contracts = DB::table('contracts as c').....
    $leads= DB::table('contracts as l')..

因此,在创建这两个都具有 customer_id 列的集合之后,我想使用 PHP 加入它们,如果这些在我的数据库中的两个表都是一个简单的 left_join,但是,我想不出用采石场的输出....提前感谢所有帮助。我一直在做一些研究,并认为我需要以某种方式绘制地图

   $leads = $leads->map(function ($item, $key) {
    $single_lead = $contract->where('l.customer_id',$item->spp.customer_id);
    return collect($item)->merge($single_lead);

类似这样的东西,但这不起作用,我被卡住了,所以我应该检查潜在客户中的每个项目,然后将其与具有相同 customer_id 的合同信息合并

标签: phpmysqllaraveljointable

解决方案


Your question wasn't very clear but giving you a hint to do left join, You can do it as:

$query = DB::table('contracts')->leftJoin('customer','customer.id','=','contracts.customer_id')->get()

You can see it in the Laravel Docs


推荐阅读