我确定这可能是一个简单的解决方案,但我似乎无法解决。
我正在尝试使用Laravel的where()
子句来构建属于每个$courses
的{{1}}数组。我循环浏览每个$student
,并过滤$student
,以根据其StudentCode查找匹配的课程。
这是我的示例代码片段:
$courseRecords
但是,我得到的结果为我提供了每位学生的课程,但是带有前导索引号(如下所示,随机结果):
我似乎无法弄清为什么会这样。第一个条目(Id 0)是我期望的结果,但是由于某种原因,其他所有结果似乎都为我提供了匹配的索引号// Cycle through the students and add their relevant course details
foreach( $students as $student ) {
// Find matching courses to the student
$courses = $courseRecords->where( 'StudentId', $student->StudentCode );
// Add the course array to the student record
$student->Courses = $courses;
}
。
我尝试使用$courseRecord
和$courses->all();
,但这没有任何区别。从Laravel文档(我已经阅读过)中,没有提到这种行为,这使我觉得我有不对劲。
$courses->toArray();
和$students
都是一个集合。
答案 0 :(得分:0)
使用values()
:
$courses = $courseRecords->where('StudentId', $student->StudentCode)->values();