首页 > 解决方案 > 如何在 laravel 中加入表格

问题描述

我有三个表想将它们连接在一起。第一个表是问题,第二个是部分,第三个是选项。我想获取表格问题的所有记录,例如,formid 是 120,并且它的 questionid 等于所获取问题表 questionid 的 questionid 的表格部分的所有记录。以及第三个表“选项”的所有记录,其中 options.questionid=questions.questionid。

    $questions=DB::table('sections')
            ->rightJoin('questions',function($join ){
                $join->on('questions.questionid','=','sections.questionid');
            })
            ->leftJoin('options',function($join ){
                $join->on('questions.questionid','=','options.questionid');
            })
            ->where('questions.formid',$formId)
            ->get();

此代码为在sections 表中没有匹配的questionid 返回null。如何解决这个问题?

标签: phplaravel

解决方案


试试看。

$questions=DB::table('questions')
        ->join('sections',function($join ){
            $join->on('questions.questionid','=','sections.questionid');
        })
        ->join('options',function($join ){
            $join->on('questions.questionid','=','options.questionid');
        })
        ->where('questions.formid',$formId)
        ->get();

推荐阅读