qb.leftJoin('info_student', 'grouping_class_student.studentId', 'info_student.id'); qb.leftJoin('grouping_class', 'grouping_class_student.classId', 'grouping_class.id'); qb.leftJoin('exam_score', 'grouping_class_student.studentId', 'exam_score.studentId'); qb.where('grouping_class_student.planId', groupingId); qb.where(function() { this.where(function() { this.where('exam_score.planId', '=', examId); }).orWhere(function() { this.whereNull('exam_score.planId'); }); });
多个表左联,要返回全部的结果,解决不能用where的问题
qb.where(function() { this.where(function() { this.where('exam_score.planId', '=', examId); }).orWhere(function() { this.whereNull('exam_score.planId'); }); });
这一部份是关键点