【发布时间】:2021-06-14 18:33:16
【问题描述】:
我有三个表想要将它们连接在一起。第一个表是问题,第二个是部分,第三个是选项。 我想获取表格问题的所有记录,例如,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。 如何解决这个问题?
【问题讨论】:
-
那么,对于不匹配的问题,您希望搜索返回什么?
-
问题表的questionid where('questions.formid',$formId) @Shadow
-
在 DB::table() 中,您应该使用问题,然后与它进行连接。