代码:
@foreach($room->students as $student)
<li>
{{ $student->student->first_name }}
<a href="{{ route('student.show', $student) }}">{!! "{$student->student} {$student->last_name}" !!}</a>
</li>
@endforeach
这是$student
public function student()
{
return $this->belongsTo(Student::class);
}
$student
实际上是room_student
模型。此模型belongsTo
student
。
问题是什么?
$student->student->first_name
产生此错误:
然而,这应该有效,因为$student->student
因为关系而给出Student
对象(我也提供了代码)。
因此,将此行{{ $student->student->first_name }}
更改为{{ dd($student->student) }}
效果很好并产生此结果:
更好的是,看看我们将从{{ dd($student->student->first_name) }}
不,因为一旦我取消dd()
功能,它就像这样:{{ $student->student->first_name }}
......
哦,再说一次。你好黑暗我的老朋友......
那么这里发生了什么?为什么?为什么dd()
完美无缺?没有没有?发生了什么事?
die(var_dump())
关于此
这是对象。 100%。到底是怎么回事?可能的框架错误?
答案 0 :(得分:1)
好像你需要把条件放在
之前@if(isset($student->student->first_name)
$student->student->first_name
@endif
当你在你的代码中放入dd($ student-&gt; student)时,它是你循环中的第一条记录,你在循环中在对象中的一个元素上得到了这个错误,因为你没有将学生关系附加在循环中的一个元素上。
这就是为什么你需要依照我上面提到的条件来附加。
答案 1 :(得分:0)
之前我遇到过这样的问题,我使用多维数组来传回数据。所以在这种情况下你可能不得不使用它,确实非常奇怪。希望这会有所帮助。
$student->student['0']['first_name'];