首页 > 解决方案 > 具有多个表连接和多个连接字段的 Laravel 查询

问题描述

我正在尝试构建一个查询来连接具有多个连接字段的多个表。

这是代码:

        $crew = DB::table('crew')
            ->join('aclist', function ($join){
                $join->on(function($query){
                  $query->on('aclist.ac_config', '=', 'crew.config')
                        ->on('aclist.ac_type', '=', 'crew.ac_type');
                });
            })
            // Error happened after I add this indexform join script
            ->join('indexform', function ($join){
                $join->on(function($query){
                $query->on('indexform.config', '=', 'crew.config')
                       ->on('indexform.ac_type', '=', 'crew.ac_type');
                });
            })        

            ->select('crew.*','indexform.*')
            ->where('aclist.ac_reg', $input['acreg'])
            ->get();

下面是视图代码,在我添加 indexform 连接脚本后它不再工作

     @foreach ($crew as $crw)
        <tr>
        <td class="container" align="center" colspan="4">{{$crw->description}}</td>
        <td class="container" align="center">{{$crw->qty}}</td>
        <td class="container" align="center">{{$crw->arm_meter}}</td>
        <td class="container" align="center">{{$crw->weight_kg}}</td>
        <td class="container" align="center">{{$crw->index}}</td>
        </tr>
      @endforeach

在我添加脚本以加入 indexform 表之前,查询运行良好。请帮助如何构建查询以连接具有多个“on”条件的三个表。

标签: phpmysqllaravel-5

解决方案


推荐阅读