У меня есть база данных с таблицей расшифровки , в которой есть оценки учеников для каждого класса, который у них есть, и у меня также есть таблица учебных планов , в которой есть список всех классы, которые студент должен завершить, чтобы получить степень.
Мне нужно отобразить все курсы_кодов из таблицы учебная программа и показать оценки, которые получил студент если они закончили этот курс в учебной программе. Я пытаюсь использовать левое объединение, чтобы получить все коды Course_Code, но не повезло ни с чем, что я пробовал.
Вот модели для учебной программы и таблицы расшифровки:
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',
];
Вот запрос в curriculumController:
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 Course_Codes, и это только возвращает 5.
Некоторое время боролся с этим. Любая помощь с благодарностью.