我试着显示课程表和测试表中的数据,这种关系是一对多的。
course name | test name
___________________________
course name1 | test name 1
course name2 | test name 2
等。
public $table = 'Course';
public function test()
{
return $this->hasMany('App\Test');
}
public $table = 'Test';
protected $fillable = ['name',];
public function course()
{
return $this->belongsTo('App\Course');
}
测试控制器.php
public function courses() {
$courses = Course::with(['test'])->get();,
return view('admin.test.list_course', [
'courses' => $courses,
]);
}
列出\u course.blade.php
@foreach($courses as $course)
<tr>
<td>
{{ $course->name }}
</td>
<td>
{{ $course->test->name }}
</td>
</tr>
@endforeach
我得到一个错误
此集合示例上不存在属性[名称]
拜托,有人知道哪里出错了吗?谢谢您!!
1条答案
按热度按时间gr8qqesn1#
你的
test
课程模型上的关系是一对多关系,这意味着每门课程可以有多个测试,因此关系将返回一个collection
所有属于这门课的考试。要在视图中显示它,可以循环执行所有测试: