显示具有多对多关系的数据 laravel 6
Displaying data with many to many relationship laravel 6
我是 laravel 6 的初学者。我只是想问问。我想显示数据但是显示不出来
index.blade.php:
@if(isset($teachers))
@foreach($teachers->qualifs as $qualif)
<li>{{ $qualif->qual }}</li>
@endforeach
@endif
控制器:
public function index()
{
$teachers= DB::table('teachers')->first();
$qualifs = DB::table('qualifs')->find($teachers->id);
return view('teachers.index',compact('teachers','qualifs'));
}
qualif.php:
public function teachers()
{
return $this->belongsToMany('todolist\teacher', 'qualif_teachers');
}
teacher.php:
public function qualifs()
{
return $this->belongsToMany('todolist\qualif', 'qualif_teachers');
}
注意:数据存储正确,只是显示问题。
ERROR:Undefined property: stdClass::$qualifs
关系属于模型实例,这意味着 eloquent 对象。当您使用查询生成器时,您将获得 stdObject 而不是 eloquent 对象。因此,您的关系不起作用。要完成这项工作,您必须使用 eloquent 而不是查询生成器。
public function index()
{
$teachers= teacher::get();
return view('teachers.index',compact('teachers'));
}
视图会像
@foreach($teachers as $teacher)
@foreach($teacher->qualifs as $qualif)
<li>{{ $qualif->qual }}</li>
@endforeach
@endforeach
我是 laravel 6 的初学者。我只是想问问。我想显示数据但是显示不出来
index.blade.php:
@if(isset($teachers))
@foreach($teachers->qualifs as $qualif)
<li>{{ $qualif->qual }}</li>
@endforeach
@endif
控制器:
public function index()
{
$teachers= DB::table('teachers')->first();
$qualifs = DB::table('qualifs')->find($teachers->id);
return view('teachers.index',compact('teachers','qualifs'));
}
qualif.php:
public function teachers()
{
return $this->belongsToMany('todolist\teacher', 'qualif_teachers');
}
teacher.php:
public function qualifs()
{
return $this->belongsToMany('todolist\qualif', 'qualif_teachers');
}
注意:数据存储正确,只是显示问题。
ERROR:Undefined property: stdClass::$qualifs
关系属于模型实例,这意味着 eloquent 对象。当您使用查询生成器时,您将获得 stdObject 而不是 eloquent 对象。因此,您的关系不起作用。要完成这项工作,您必须使用 eloquent 而不是查询生成器。
public function index()
{
$teachers= teacher::get();
return view('teachers.index',compact('teachers'));
}
视图会像
@foreach($teachers as $teacher)
@foreach($teacher->qualifs as $qualif)
<li>{{ $qualif->qual }}</li>
@endforeach
@endforeach