我的数据库中有3个表。我想在一个页面上显示所有3个表格数据。
Student.php
public function hobbies() {
return $this->hasMany(Student::class);
}
Hobbie.php
public function student()
{
return $this->belongsTo(Student::class);
}
Controller.php这样
$students->name= request('name');
$students->address = request('address');
if($students->save())
for ($i=0; $i < count(request('hob')); ++$i)
{
$hobbies = new Hobby;
$hobbies->name= request('hob')[$i];
$students->hobbies()->save($hobbies);
}
View.blade.php $学生 - &GT;爱好() - &GT;滚刀;
但它并没有表现出任何爱好。什么是正确的解决方案?
答案 0 :(得分:0)
您的整个控制器代码会很有帮助。
在您的视图$students->hobbies()->hob;
中,您正在访问收藏集hob
的媒体资源$students->hobbies()
。您想要访问Collection hob
元素的属性$students->hobbies()
,因此您可能希望访问$students->hobbies()[0]->hob
或使用foreach遍历Collection。
在视图中访问$students->hobbies()
实际上会查询您的数据库,因此最好在控制器中设置$hobbies
变量并将其传递给视图,然后查看变量。
@foreach ($hobbies as $hobby)
{{ $hobby->hob }}<br/>
@endforeach