Laravel 5.7如何从Controller show($ id)函数获取数据?二手查询生成器

时间:2019-07-03 16:48:48

标签: php laravel laravel-5

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)“

1 个答案:

答案 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