gpt4 book ai didi

php - 显示 2 个表中的数据 - 此集合实例上不存在属性 [名称]

转载 作者:行者123 更新时间:2023-11-29 09:59:59 25 4
gpt4 key购买 nike

我尝试显示表 Course 和 Test 中的数据,关系是一对多。

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');
}

测试 Controller .php

public function courses() {

$courses = Course::with(['test'])->get();,
return view('admin.test.list_course', [
'courses' => $courses,

]);
}

list_course.blade.php

 @foreach($courses as $course)

<tr>
<td>
{{ $course->name }}
</td>

<td>
{{ $course->test->name }}
</td>

</tr>
@endforeach

我收到错误

Property [name] does not exist on this collection instance

请问有人知道错误在哪里吗?谢谢!!

最佳答案

您的test类(class)模型上的关系是一对多关系,这意味着每门类(class)可以有多个测试,因此该关系将返回 collection属于该类(class)的所有测试。要在 View 中显示它,您可以循环遍历所有测试:

@foreach($courses as $course)
<tr>
<td>
{{ $course->name }}
</td>
<td>
@foreach($course->test as $test)
{{ $test->name }} <br>
@endforeach
</td>
</tr>
@endforeach

关于php - 显示 2 个表中的数据 - 此集合实例上不存在属性 [名称],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53207405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com