我有一个带有成绩单表的数据库,该数据库具有他们所参加的每个课程的学生成绩,并且我还有一个课程表,其中包含一个学生完成学位所需的所有课程。
我需要做的是显示课程表中的所有 Course_Codes ,并显示学生在课程中完成该课程后所获得的成绩。我正在尝试使用左联接,这样我可以获取所有的Course_Codes,但是在尝试过的任何事情上都没有运气。
以下是课程表和成绩单表的模型:
protected $table ="curriculum";
protected $fillable = [
'Program_ID',
'Curriculum_ID',
'Maj_Code',
'Course_Code',
'Course_Seq',
'Prereq_ID',
'Course_Desc',
];
protected $table ="transcript";
protected $fillable = [
'Transcript_ID',
'CWID',
'Maj_Code',
'Curriculum_ID',
'Course_Comp',
'Term_Completed',
'Course_Grade',
'Course_Code',
];
这是课程控制器中的查询:
public function getProgress($id){
return DB::table('curriculum')
->select('curriculum.Course_Code','transcript.Course_Comp', 'transcript.Term_Completed', 'transcript.Course_Grade')
->leftJoin('transcript', 'curriculum.Course_Code', '=','transcript.Course_Code')
->where('CWID', $id)
->get();
这是输出:
[
{
"Course_Code": "CIS299",
"Course_Comp": "A",
"Term_Completed": null,
"Course_Grade": null
},
{
"Course_Code": "CIS352",
"Course_Comp": "A",
"Term_Completed": null,
"Course_Grade": null
},
{
"Course_Code": "CIS110",
"Course_Comp": "Y",
"Term_Completed": "Fall18",
"Course_Grade": "A"
},
{
"Course_Code": "CIS120",
"Course_Comp": "Y",
"Term_Completed": "Fall18",
"Course_Grade": "C-"
},
{
"Course_Code": "CIS341",
"Course_Comp": "Y",
"Term_Completed": "Fall19",
"Course_Grade": "A-"
}
课程表中有13个课程代码,仅返回5。
现在已经为此苦苦挣扎了一段时间。任何帮助将不胜感激。