I'm sure this may be a simple solution, but I can't seem to work it out.
I am trying to use Laravel's where()
clause to build an array of $courses
that belong to each $student
. I cycle through each $student
and filter the $courseRecords
to find matching courses based on their StudentCode.
Here is my sample code snippet:
// 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;
}
However, the result I get, gives me each student's course, but with a leading index number (as shown below in random results):
I can't seem to work out why this is happening. The first entry (Id 0) is the result I am expecting, but for some reason, every other result seems to give me the matching index number of $courseRecord
.
I have tried using $courses->all();
and $courses->toArray();
but this doesn't make any difference. From the Laravel documentation (that I have read), it doesn't mention this behaviour which makes me think I have something incorrect.
$students
and $courseRecords
are both a collection.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire