Я пытаюсь использовать отношение "один ко многим" для заполнения столбца в моей таблице.
/// это мое мнение student.blade.php////
@foreach($student as $students)
<tr role="row" class="odd">
<td class="sorting_1">{{$students->id}}</td>
<td><img src="/img/{{$students->photo}}"
style="width: 50px; height: 50px; border-radius: 50%;">
</td>
<td>{{$students->matric_no}}</td>
<td>{{$students->first_name}}</td>
<td>{{$students->last_name}}</td>
<td>{{$students->gender}}</td>
<td>{{$students->DOB}}</td>
<td>{{$students->classrm->id}}</td>
///студенческая модель ////
public function classrm(){
return $this->belongsTo(Classroom::class);
}
/// модель класса///
public function student(){
return $this->hasMany(Student::class);
}
/// студенческий контроллер ///
public function index()
{
$student = Student::all();
return view('student.Index', compact('student'));
}
я ожидаю, что он отобразит значения в моей БД, но выдает исключение, пытаясь получить идентификатор не-собственности
classroom_id
может быть обнулено в БД? Я подозреваю, что$student->classrm
возвращает null, отсюда и причина исключения. Кстати, измените свое соглашение об именах, так какstudents
во множественном числе, аstudent
в единственном числе, что означает, что вы должны перебиратьstudents
и распечатывать каждыеstudent
данных подряд. - person nakov   schedule 29.12.2018