StaffController
public function show($id){
$staffinfo = DB::table('staff')->where('user_id', $id)->get();
return view('staff.view')->with('staffinfo', $staffinfo);
}
view.blade.php
<h1>{{$staffinfo->name}}</h1>
<p>{{$staffinfo->user_id}}</p>
此代码对通过show($id)
函数显示职员表中的数据是否正确?
获取错误:
“属性[名称]在此集合上不存在 实例。 (视图: F:\ xampp \ htdocs \ gchsc \ resources \ views \ staff \ view.blade.php)“
答案 0 :(得分:2)
将->get()
切换为->first()
。 $staffInfo
是数据库记录的Collection
,而不是单个记录:
StaffController.php
$staffinfo = DB::table('staff')->where('user_id', $id)->first();
然后,以下将适用于您的视图:
staff/view.blade.php
<h1>{{ $staffinfo->name }}</h1>
<p>{{ $staffinfo->user_id }}</p>
或者,将代码保持不变并在视图中进行迭代:
StaffController.php
$staffinfo = DB::table('staff')->where('user_id', $id)->get();
staff/view.blade.php
@foreach($staffInfo AS $staff){
<h1>{{ $staff->name }}</h1>
<p>{{ $staff->user_id }}</p>
@endforeach